Как получить элемент, который выбран в WPF-treeview? Я хочу сделать это в XAML, потому что я хочу связать его.
Вы можете подумать, что это SelectedItem
, но очевидно, что не существует является readonly и поэтому непригоден.
Это то, что я хочу сделать:
<TreeView ItemsSource="{Binding Path=Model.Clusters}"
ItemTemplate="{StaticResource ClusterTemplate}"
SelectedItem="{Binding Path=Model.SelectedCluster}" />
Я хочу привязать SelectedItem
к свойству в моей модели.
Но это дает мне ошибку:
Свойство SelectedItem доступно только для чтения и не может быть установлено из разметки.
Edit: Хорошо, так я решил это:
<TreeView
ItemsSource="{Binding Path=Model.Clusters}"
ItemTemplate="{StaticResource HoofdCLusterTemplate}"
SelectedItemChanged="TreeView_OnSelectedItemChanged" />
и в файле codebehind моего xaml:
private void TreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
Model.SelectedCluster = (Cluster)e.NewValue;
}