我在主题xaml文件中有一个样式设置器。我试图将Setter的值绑定到视图模型中的bool peoperty。
我在主题中获得了视图模型的命名空间:
xmlns:propertyGrid="clr-namespace:MY.App.Controls.PropertyGrid;assembly=MY.APP.Controls"
和样式中的绑定:
<Setter Property="IsExpanded" Value="{Binding Source={StaticResource propertyGrid:PropertyGridViewModel}, Path=AreCategoriesAutoExpanded}"/>
最后在viewmodel中我只有一个自动属性:
public bool AreCategoriesAutoExpanded { get; set; }
但是我在运行时遇到异常:
Cannot find resource named 'propertyGrid:PropertyGridViewModel'. Resource names are case sensitive
如果我尝试使用动态资源资源,则表示我只能绑定到dp。这个绑定有什么问题?有什么我想念的吗?
答案 0 :(得分:1)
仅当您的ViewModel是具有静态属性的静态类时才会起作用,如下所示:
<Setter Property="IsExpanded" Value="{Binding Source={x:Static propertyGrid:PropertyGridViewModel.AreCategoriesAutoExpanded}"/>
你错过了'x:Static'位,应该修复它。