绑定到另一个命名空间中的属性
本文关键字:属性 命名空间 另一个 绑定 | 更新日期: 2023-09-27 18:34:23
>我在主题xaml文件中有一个样式设置器。我正在尝试将 Setter 的值绑定到视图模型中的布尔值。
我已经在主题中获得了视图模型的命名空间:
xmlns:propertyGrid="clr-namespace:MY.App.Controls.PropertyGrid;assembly=MY.APP.Controls"
和样式中的绑定:
<Setter Property="IsExpanded" Value="{Binding Source={StaticResource propertyGrid:PropertyGridViewModel}, Path=AreCategoriesAutoExpanded}"/>
最后在视图模型中,我只有一个自动属性:
public bool AreCategoriesAutoExpanded { get; set; }
但是我在运行时收到异常:
Cannot find resource named 'propertyGrid:PropertyGridViewModel'. Resource names are case sensitive
如果我尝试使用动态资源资源,则只能绑定到 dp。这种绑定有什么问题?我错过了什么吗?
仅当您的 ViewModel 是具有静态属性的静态类时,此操作才有效,如下所示:
<Setter Property="IsExpanded" Value="{Binding Source={x:Static propertyGrid:PropertyGridViewModel.AreCategoriesAutoExpanded}"/>
您缺少"x:静态"位,它应该可以修复它。