首页 > 解决方案 > 为数据创建新的控件集的应用程序

问题描述

我正在尝试创建一个 C# 应用程序,并且我在 WPF 的 UI 方面苦苦挣扎。应用程序将在运行时接收新数据,我需要为(控件示例)生成一组新控件。

目前我将上面的这张图片设置为数据模板,我想做的是使用 contentpresenter 创建副本,每个副本都有一组不同的数据。我正在努力弄清楚如何将不同的数据传递给使用 contentpresenter 创建的副本,而不是一遍又一遍地传递相同的值。

做这样的事情的最佳方法是什么

标签: c#wpf

解决方案


听起来你想要一个ItemsControl

表示可用于呈现项目集合的控件。

和ViewModal 中的ObservableCollection

表示一个动态数据集合,它在添加、删除项目或刷新整个列表时提供通知。

<ItemsControl ItemsSource="{Binding SomeSortOfObservableCollection}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            ...
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

这样,您将获得一个更新模板重复列表,该列表会在您添加项目时更新。

您也可以ListBox根据需要使用 a 和其他东西


推荐阅读