Wie kann ich das Element abrufen, das in einer WPF-Treeview ausgewählt ist? Ich möchte dies in XAML zu tun, weil ich es zu binden möchten.
Man könnte meinen, es sei SelectedItem
aber offenbar ist das gibt es nicht ist schreibgeschützt und daher unbrauchbar.
Das ist es, was ich tun möchte:
<TreeView ItemsSource="{Binding Path=Model.Clusters}"
ItemTemplate="{StaticResource ClusterTemplate}"
SelectedItem="{Binding Path=Model.SelectedCluster}" />
Ich möchte die SelectedItem
zu einer Eigenschaft in meinem Modell.
Dies führt jedoch zu einer Fehlermeldung:
Die Eigenschaft "SelectedItem" ist schreibgeschützt und kann nicht über das Markup gesetzt werden.
Editar: Ok, so habe ich das Problem gelöst:
<TreeView
ItemsSource="{Binding Path=Model.Clusters}"
ItemTemplate="{StaticResource HoofdCLusterTemplate}"
SelectedItemChanged="TreeView_OnSelectedItemChanged" />
und in der Code-Hintergrunddatei meiner Xaml:
private void TreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
Model.SelectedCluster = (Cluster)e.NewValue;
}