我正在尝试创建C#应用程序,并且在WPF的UI方面苦苦挣扎。该应用程序将在运行时接收新数据,我需要为(example of the controls)生成一组新的控件。
当前,我将上面的图像设置为数据模板,我想做的是使用contentpresenter创建副本,每个副本都有一组不同的数据呈现。我正在努力弄清楚如何将不同的数据传递给使用contentpresenter创建的副本,而不是一遍又一遍地传递相同的值。
做这样的事情的最佳方法是什么
答案 0 :(得分:1)
听起来像您想要ItemsControl
表示一个控件,可用于呈现以下内容的集合 项目。
和您的ViewModal中的ObservableCollection
表示一个动态数据集合,该集合在以下情况下提供通知 项目会被添加,删除或刷新整个列表。
<ItemsControl ItemsSource="{Binding SomeSortOfObservableCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
...
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
这样,您将获得一个更新模板重复列表,该列表在添加项目时进行更新。
您还可以根据需要使用ListBox
和其他功能