我的应用程序中有一个对象列表,我想用它动态创建Wrappanels。一种方法是在后面编写控件添加代码,如下所示。
WrapPanel RuleInternalCond = new WrapPanel();
// Create operator combo box and fill all operators
ComboBox operatorCb = new ComboBox();
operatorCb.Items.Add("OR");
operatorCb.Items.Add("AND");
RuleInternalCond.Children.Add(operatorCb);
但是有没有更好的方法来创建包装面板的模板,将其绑定到我的属性并在xaml中使用我的集合来自动创建包装面板模板列表?
详细解释。 我想创建一个包含xaml控件的包装面板,它绑定到属性。但问题来了,如果我想要根据我的集合动态创建这些包装面板的列表。例如,我的收藏是
列表=新列表 MyRules在哪里
字符串名称; 字符串条件;
我希望列表项位于带有名称和条件的文本框
的WrapPanel中答案 0 :(得分:0)
只是使用ItemsControl的代码示例。我假设您使用具有这2个属性的对象,并且您需要在注释(ObservableCollection<MyObject> MyList
)中使用像@XAMIMAX一样的ObservableCollection。
<ItemsControl ItemsSource="{Binding MyList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Condition}"/>
</WrapPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>