数据在WPF树视图结合的SelectedItem [英] Data binding to SelectedItem in a WPF Treeview

查看:124
本文介绍了数据在WPF树视图结合的SelectedItem的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何可以检索在WPF的树视图中选择的项目?我想这样做在XAML,因为我想绑定。

您可能会认为这是的SelectedItem 但显然这不存在是只读的,因此无法使用。

这是我想做的事:

 <树视图的ItemsSource ={绑定路径= Model.Clusters}
    的ItemTemplate ={StaticResource的ClusterTemplate}
    的SelectedItem ={绑定路径= Model.SelectedCluster}/>

我要绑定的的SelectedItem 在我的模型的属性。

但是,这给我的错误:


  

的SelectedItem属性是只读的,并且不能从标记设置。


编辑:
好吧,这是我解决了这个方式:

 < TreeView控件
    的ItemsSource ={绑定路径= Model.Clusters}
    的ItemTemplate ={StaticResource的HoofdCLusterTemplate}
    SelectedItemChanged =TreeView_OnSelectedItemChanged/>

在我的XAML的codebehindfile:

 私人无效TreeView_OnSelectedItemChanged(对象发件人,RoutedPropertyChangedEventArgs<对象> E)
{
    Model.SelectedCluster =(集群)e.NewValue;
}


解决方案

该属性存在:<一href=\"http://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.selecteditem.aspx\">TreeView.SelectedItem

但它是只读的,所以你无法通过具有约束力的分配它,只有找回

How can I retrieve the item that is selected in a WPF-treeview? I want to do this in XAML, because I want to bind it.

You might think that it is SelectedItem but apparently that does not exist is readonly and therefore unusable.

This is what I want to do:

<TreeView ItemsSource="{Binding Path=Model.Clusters}" 
    		ItemTemplate="{StaticResource ClusterTemplate}"
    		SelectedItem="{Binding Path=Model.SelectedCluster}" />

I want to bind the SelectedItem to a property on my Model.

But this gives me the error:

'SelectedItem' property is read-only and cannot be set from markup.

Edit: Ok, this is the way that I solved this:

<TreeView
    	  ItemsSource="{Binding Path=Model.Clusters}" 
    	  ItemTemplate="{StaticResource HoofdCLusterTemplate}"
    	  SelectedItemChanged="TreeView_OnSelectedItemChanged" />

and in the codebehindfile of my xaml:

private void TreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
    Model.SelectedCluster = (Cluster)e.NewValue;
}

解决方案

This property exists : TreeView.SelectedItem

But it is readonly, so you cannot assign it through a binding, only retrieve it

这篇关于数据在WPF树视图结合的SelectedItem的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆