如何在WPF中将整个对象绑定到用户控件?

时间:2009-01-26 13:09:52

标签: c# .net wpf wpf-controls

人们经常使用类似的东西:

<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中加入包含该集合中的整个项目。

1 个答案:

答案 0 :(得分:15)

这个的语法是:

<local:Index Item="{Binding}"/>

这将告诉数据绑定函数将每个ListBox项的整个datacontext绑定到Index控件中的Item属性