在我的xaml中,我有一些看起来像:
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding Path=IsExpandedOverridedInModelView, Mode=TwoWay}"/>
</Style>
</TreeView.ItemContainerStyle>
此代码完美无缺。
My TreeView绑定到包装DataLayer层次结构的ModelView层次结构(MVVM)。另一个层次结构上的层次结构包装器。我的有界ModelView层次结构添加了一些属性,如(IsSelected和IsExpandedOverridedInModelView)。此代码主要定义TreeView.IsExpanded属性和我的ModelView层次结构属性之间的绑定:“IsExpandedOverridedInModelView”。
但有些事情我无法想象......
每个人都知道TreeViewItem类没有名为“IsExpandedOverridedInModelView”的属性。这个属性是我的底层对象的一部分(我的ModelView中的对象在TreeViewItem后面)。我有2个相关问题:
我认为TreeViewItem将派生自DynamicObject,但事实并非如此。
答案 0 :(得分:3)
TreeViewItem
IsExpanded
property。任何告诉你的警告都是某些IDE垃圾的结果。绑定是指DataContext
,它可能有也可能没有这样的属性,只有在运行时才会计算,除非你使用设计器(同样,警告只是IDE垃圾)。