c# – 以编程方式绑定ItemsSource
发布时间:2020-12-15 07:41:35 所属栏目:百科 来源:网络整理
导读:c#代码中的等价物是什么? ListView x:Name="taskItemListView" DataContext="{Binding SelectedItem,ElementName=itemListView}" ItemsSource="{Binding taskItems}".../ListView 我已经尝试了以下代码,但它似乎不起作用…… Binding b = new Binding();b.P
c#代码中的等价物是什么?
<ListView x:Name="taskItemListView" DataContext="{Binding SelectedItem,ElementName=itemListView}" ItemsSource="{Binding taskItems}"> ... </ListView> 我已经尝试了以下代码,但它似乎不起作用…… Binding b = new Binding(); b.Path = new PropertyPath("taskItems"); DependencyProperty dp = DependencyProperty.Register("itemsSource",typeof(object),null); BindingOperations.SetBinding(taskItemListView,dp,b); 编辑: 基于@ sa_ddam213的答案,这有效: Binding dataContextBinding = new Binding(); dataContextBinding.Path = new PropertyPath("SelectedItem"); dataContextBinding.Source = itemListView; BindingOperations.SetBinding(taskItemListView,ListView.DataContextProperty,dataContextBinding ); Binding sourceBinding = new Binding(); sourceBinding.Path = new PropertyPath("taskItems"); BindingOperations.SetBinding(taskItemListView,ListView.ItemsSourceProperty,sourceBinding ); 解决方法
这样的事情应该有效:
BindingOperations.SetBinding(taskItemListView,new Binding("SelectedItem") { Source = itemListView}); BindingOperations.SetBinding(taskItemListView,new Binding("taskItems") { Source = this }); 注意:“Source = this”这等于持有taskItems,SelectedItem的类 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |