wpf TreeView的selecteditem绑定
时间: 2024-04-14 15:09:43 浏览: 146
TreeView.zip
WPF TreeView的SelectedItem属性是一个依赖属性,可以通过绑定来实现与ViewModel的双向绑定。
首先,在ViewModel中定义一个SelectedItem属性,用于保存当前选中的节点:
```csharp
private object _selectedItem;
public object SelectedItem
{
get { return _selectedItem; }
set
{
_selectedItem = value;
OnPropertyChanged(nameof(SelectedItem));
}
}
```
然后,在XAML中绑定TreeView的SelectedItem属性到ViewModel的SelectedItem属性:
```xaml
<TreeView ItemsSource="{Binding Items}"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
```
注意,TreeView的ItemsSource必须绑定到ViewModel中的数据源。这里使用了一个简单的数据模型,包含Name和Children两个属性:
```csharp
public class Item
{
public string Name { get; set; }
public ObservableCollection<Item> Children { get; set; }
}
```
这样,当用户选择一个节点时,ViewModel中的SelectedItem属性就会被更新,反之,当ViewModel中的SelectedItem属性被更新时,TreeView的选中项也会相应地更新。
阅读全文