我正在使用演示模型在我的应用程序中使用TreeView
控件实现导航。我TreeViewItem
通过双向绑定将 的 IsSelected 属性绑定到我的视图模型。选择具有子节点的节点时,我希望选择该节点的第一个子节点,而不是单击的那个节点。当它在我的演示模型上设置 IsSelected 属性时,似乎TreeViewItem
没有监听属性更改事件。第一个子节点被选中,但父节点没有取消选择。这是我的演示模型中的代码。
public bool IsSelected {
get {
return this._isSelected;
}
set {
if(this._isSelected != value) {
this._isSelected = value;
if(this.Nodes.Count > 0) {
this._isSelected = false;
this.Nodes[0].IsSelected = true;
}
this.NotifyPropertyChanged("IsSelected");
}
}
}
这是我的风格TreeViewItem
:
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
</Style>