如何将ListBox项绑定到用户控件上?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将ListBox项绑定到用户控件上?相关的知识,希望对你有一定的参考价值。
人们经常使用这样的东西。
<ListBox ItemsSource="{Binding ElementName=thisControl, Path=ListIndexes}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Label Content="{Binding Path=IndexName}"/>
<Label Content="{Binding Path=IndexValue}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
但我想用一个控件代替标签,像这样。
<ListBox ItemsSource="{Binding ElementName=thisControl, Path=ListIndexes}">
<ListBox.ItemTemplate>
<DataTemplate>
<local:Index Item="**{Binding}**"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我的疑惑是如何在这个Binding中加入整个集合中的项目。
答案
这样的语法是:
<local:Index Item="{Binding}"/>
这将告诉数据绑定函数将每个ListBox Item的整个数据上下文绑定到Index控件中的Item属性。
以上是关于如何将ListBox项绑定到用户控件上?的主要内容,如果未能解决你的问题,请参考以下文章
使用动态项绑定到Listbox的DataTemplate中的控件DependencyProperty不起作用
遵循MVVM模式,如何创建“设置”功能,在其他用户控件中设置数据绑定项值?