与 AvalonDock 主题的 WPF 绑定失败
本文关键字:WPF 绑定 失败 AvalonDock | 更新日期: 2023-09-27 18:30:16
我正在为我的WPF应用程序使用AvalonDock,并希望使用数据绑定来更改主题。
视图模型:
private Theme _AvalonDockTheme = new ExpressionDarkTheme();
public Theme AvalonDockTheme
{
get
{
return _AvalonDockTheme;
}
set
{
if (_AvalonDockTheme != value)
{
_AvalonDockTheme = value;
RaisePropertyChanged("AvalonDockTheme");
}
}
}
XAML:
<xcad:DockingManager AllowMixedOrientation="True"
Theme="{Binding Source={StaticResource DockTheme}}"
x:Name="_dockingManager">
<!-- some content -->
</xcad:DockingManager>
当我使用它时,我会收到以下错误消息:
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='Xceed.Wpf.AvalonDock.Themes.ExpressionDarkTheme' BindingExpression:Path=MainViewModel.AvalonDockTheme; DataItem='App' (HashCode=47182344); target element is 'CollectionViewSource' (HashCode=42887454); target property is 'Source' (type 'Object')
我不明白为什么绑定失败。绑定源和目标的类型均为 Xceed.Wpf.AvalonDock.Themes.Theme,但错误消息指出目标元素的类型为 CollectionViewSource。为什么?
看看这个问题:
在数据模板中绑定集合视图源
如果这没有帮助,请提供 DockTheme 资源定义。