我是WPF和C#的新手。我需要在Template.xaml中创建一个Label和一个Button。但Label和Button创建的数量是用户特定的,这是另一个design.xaml。即如果用户给出值5,则需要使用Template.xaml文件创建五个Label和Button。
我在design.xaml中试过了类似的东西,
xmlns:local="clr-namespace:UserDesign"
<local:Template HorizontalAlignment="Left" VerticalAlignment="Top" />
<local:Template HorizontalAlignment="Left" VerticalAlignment="Top" />
<local:Template HorizontalAlignment="Left" VerticalAlignment="Top" />
但这似乎是固定的。我需要根据用户输入动态执行此操作。
答案 0 :(得分:0)
如果没有更完整的代码示例,很难确切知道您的方案是什么。但是,如果您正在处理的是对象集合,其中每个对象对应于某个Template
对象的单个实例(可能包含您的Label
和Button
对象) ,那么你可能想要使用WPF的数据模板功能。
这里有一个相当不错的教程:Data Templating Overview
基本思想是声明DataTemplate
对象,该对象用于ItemTemplate
的{{1}}属性或子类(例如ItemsControl
)。将声明ListBox
应用于特定数据类型(例如集合中的对象类型),并且您将使用模板中的UI元素和数据类型之间的绑定来为每个数据对象自定义这些元素
根据您DataTemplate
本身的声明,可能最终适用于Template
声明。或者它可能不会......如果没有看到an actual good, minimal, complete code example,就无法说出来。