WPF - 将 List<T> 绑定为 WrapPanel 的内容

Posted

技术标签:

【中文标题】WPF - 将 List<T> 绑定为 WrapPanel 的内容【英文标题】:WPF - Bind a List<T> as the contents of a WrapPanel 【发布时间】:2011-01-11 12:00:43 【问题描述】:

是否可以将 WrapPanel 的内容(子项)绑定到依赖属性?

我在想的是拥有一个 List 类型的依赖属性,然后为 MyClass 定义一个模板。

然后让 WrapPanel 显示它们。

我知道使用列表框更容易做到这一点,但由于其他限制,我需要在进入列表框之前尝试使用 WrapPanel。

我正在使用 MVVM。我宁愿以这种模式做这件事。如果我要突破 MVVM,我可以只使用一个事件或命名它并在加载时填充它。我希望有一种更清洁的绑定方式。

【问题讨论】:

【参考方案1】:

ItemsControl是你的朋友:

<ItemsControl ItemsSource="Binding YourChildItems">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

【讨论】:

不是我想要的。但我会接受的。 (我需要一个可以绑定到 Childern 的控件。我修改了我的场景以适应这个。 ItemsControl 的项目成为ItemsControl 面板的子项。

以上是关于WPF - 将 List<T> 绑定为 WrapPanel 的内容的主要内容,如果未能解决你的问题,请参考以下文章

将 Dictionary<T> 绑定到 WPF 列表框

如何将 List<CustomObject> 绑定到 WPF DataGrid?

WPF MVVM 将 Dictionary<String, List<String>> 绑定到数据网格

WPF将comboBox绑定到List

c#wpf将列表绑定到Listview - listview行为空[关闭]

WPF中ListBox的绑定