如何将列表框数据绑定到包含窗口的类文件中的List?我看了,有一个我可以设置的ItemsSource属性,但我不确定这是否是我想要的,也不确定要设置它。
答案 0 :(得分:3)
几乎就是这样:
<ListBox ItemsSource="{Binding}">
</ListBox>
然后将DataContext设置为某种字符串集合,就是这样。如果你不想直接绑定到DataContext,你可以这样做,但你可能想把它放在自己的控件中,以便更好地分离功能。
答案 1 :(得分:3)
这是一个非常广泛的问题。您最好的选择是阅读MSDN上的introductory topic。
答案 2 :(得分:3)
我明白了:根据这个cheatsheet,我需要使用以下内容:
ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=Categories}"
其中Path设置为包含要绑定的字符串列表的Property的名称。
答案 3 :(得分:0)
以下是一些其他方法:
一种方法是使列表成为窗口类的静态属性,然后像这样绑定它:
{Binding Source={x:Static local:MyWindow.MyList}}
当然,如果您希望窗口的所有实例使用相同的列表,通常只会这样做。
另一种方法是通过添加
将列表添加到窗口的Resources
集合中
Resources.Add("MyListKey", MyList);
在调用InitializeComponent
之前,在构造函数中。 (在StaticResource
标记扩展执行之前,密钥必须位于资源字典中。)然后您可以像这样绑定它:
{Binding Source={StaticResource MyListKey}}