如何将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项绑定到用户控件上?的主要内容,如果未能解决你的问题,请参考以下文章

wpf中如何绑定到listbox中的选定项

使用动态项绑定到Listbox的DataTemplate中的控件DependencyProperty不起作用

遵循MVVM模式,如何创建“设置”功能,在其他用户控件中设置数据绑定项值?

vb listbox控件中的某些项如何设置为默认选中?

WPF:将 ListBox ContextMenu 的命令参数绑定到 ListBox 的选定项

如何检测是不是将项目添加到 ListBox(或 CheckedListBox)控件