如何在WPF中正确绑定ListBoxItem?

2024-03-23

我有一个列表框,我想迭代 Foo 对象中的 Bars 集合。

<ListBox DataContext="{Binding Path=Foo.Bars}" >
    <ListBox.Items>
        <ListBoxItem>
            <ContentControl DataContext="{Binding Path=.}" />
        </ListBoxItem>
    </ListBox.Items>
</ListBox>

这是我想使用的数据模板。

<DataTemplate DataType="{x:Type Bar}">
        <Label Content="hello stackoverflow" />
</DataTemplate>

如果我窥探(--> 使用 Snoop 工具检查)我的应用程序,我注意到整个系列Bars 绑定到 ContentControl,而不是只有 1 个.

如何正确绑定以便集合上的迭代顺利进行?


您只需设置 DataTemplate,WPF 即可完成所有工作。将 ItemsSource 设置为列表Bar项,然后定义一个 DataTemplateBar items.

<ListBox ItemsSource="{Binding Path=Foo.Bars}">
    <ListBox.Resources>
        <DataTemplate DataType="{x:Type Bar}">
            <Label Content="hello stackoverflow" />
        </DataTemplate>
    </ListBox.Resources>
</ListBox>

您还可以使用直接设置 ItemsTemplate<ListBox.ItemTemplate>代替<ListBox.Resources>

See 数据绑定概述 http://msdn.microsoft.com/en-us/library/ms752347.aspx在 MSDN。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在WPF中正确绑定ListBoxItem? 的相关文章

随机推荐