基于字符串列表动态加载用户控件(后面没有代码)

本文关键字:代码 控件 字符串 列表 动态 用户 加载 | 更新日期: 2023-09-27 18:14:12

我正在研究一个项目,用户应该能够导出不同自定义对象的值。

我正试图找到一种方法来加载一些复选框动态(我在想用户控件)基于属性名称(字符串)的列表。然后,用户应该能够根据应该导出的值选中或取消选中复选框。

我的问题是,我不能给用户控件复选框自定义名称,链接到应该导出的值

基于字符串列表动态加载用户控件(后面没有代码)

ListBoxItemsControl(如果您需要更大的灵活性)绝对是可行的方法。然而,仅仅生成CheckBox是不够的,因为你还需要一种方法来跟踪它们是否被选中,所以你想要创建某种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属性是ChoiceListIEnumerable