如何使用 a DelegateCommand
in aTreeView
来获取Expanded
事件?
我应该使用DelegateCommand
还是有其他方法?
谢谢
如何使用 a DelegateCommand
in aTreeView
来获取Expanded
事件?
我应该使用DelegateCommand
还是有其他方法?
谢谢
由于您提到 Prism,我假设您有一个控制器或 ViewModel 附加到包含您的 TreeView 的视图...
既然如此,就暴露一个布尔属性 IsExpanded
private bool _isExpanded;
public bool IsExpanded
{
get { return _isExpanded; }
set
{
if (value != _isExpanded)
{
_isExpanded = value;
RaisePropertyChanged("IsExpanded");
// Apply custom logic here...
}
}
}
现在要将这个属性连接到 TreeView,您需要在 TreeView 的资源中应用以下样式(或根据需要进一步向上可视化树)
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding Path=IsExpanded, Mode=TwoWay}" />
</Style>
注意:您也可以使用类似的技术来连接 IsSelected 属性 - 也非常有用!