我正在开发一个项目,用户应该能够导出不同自定义对象的值。
我正在尝试根据属性名称列表(字符串)找到一种动态加载多个复选框的方法(我在考虑用户控件)。然后,用户应该能够根据应导出的值来选中或取消选中复选框。
我遇到的问题是我不能给用户控制复选框自定义名称,这些名称会链接到应该导出的值。
答案 0 :(得分:1)
ListBox
或ItemsControl
(如果您需要更多灵活性)绝对是您要走的路。但是,仅仅生成CheckBox
es是不够的,因为您还需要一种方法来跟踪它们是否被选中,因此您想要制作某种Choice
类并将CheckBox
的属性绑定到Choice
类的属性。像这样:
<ListBox ItemsSource="{Binding Choices}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Name}"
IsChecked="{Binding IsChosen}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
代码隐藏:
public class Choice
{
public string Name { get; set; }
public bool IsChosen { get; set; }
}
Choices
属性为[{1}}或List
IEnumerable
的位置。