c# - 如何将 ListBox 项绑定(bind)到用户控件?

标签 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>

我的疑问是将什么放入此绑定(bind)以包含集合中的整个项目。

最佳答案

语法是:

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

这将告诉数据绑定(bind)函数将每个 ListBox 项的整个数据上下文绑定(bind)到 Index 控件中的 Item 属性

关于c# - 如何将 ListBox 项绑定(bind)到用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/479737/

相关文章:

c# - 如何使用命名管道(C++ 服务器,C# 客户端)

c# - Entity Framework - COUNT 而不是 SELECT

c# - 如何调用 Dictionary<K, V>.TryGetValue() where K : Predicate<T>, V : enum

android - WebSocket 在几个时间间隔之间不断断开连接

c# - 如何在WPF应用程序上修复 “The calling thread cannot access this object because a different thread owns it.”

c# - 具有延迟和键绑定(bind)的 XAML 绑定(bind)

c# - 为什么 C# WPF 按钮绑定(bind)命令在使用简单注入(inject)器后不会更改 View ?

C# 结构,使用方法处理 Bool 类型?

c# - .NET 4.0 动态 - 获取有关从 GetDynamicMemberNames 返回的成员的更多信息

c# - 将单个 XElement 转换为对象