Як я можу отримати елемент, обраний у вигляді WPF-дерева? Я хочу це зробити в XAML, тому що хочу зв’язати це.
Ви можете подумати, що це є, SelectedItem
але, мабуть, такого, що не існує , читається лише і тому є непридатним.
Це те, що я хочу зробити:
<TreeView ItemsSource="{Binding Path=Model.Clusters}"
ItemTemplate="{StaticResource ClusterTemplate}"
SelectedItem="{Binding Path=Model.SelectedCluster}" />
Я хочу прив’язати SelectedItem
до властивості моєї моделі.
Але це дає мені помилку:
Властивість "SelectedItem" доступна лише для читання і не може бути встановлена з розмітки.
Редагувати: Гаразд, саме таким чином я вирішив це:
<TreeView
ItemsSource="{Binding Path=Model.Clusters}"
ItemTemplate="{StaticResource HoofdCLusterTemplate}"
SelectedItemChanged="TreeView_OnSelectedItemChanged" />
і в кодібедфайла мого xaml:
private void TreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
Model.SelectedCluster = (Cluster)e.NewValue;
}