在我的应用程序中,我为每个可能的类别(从数据库中检索)生成复选框,用户可以选中任何适用的数字。我将复选框命名为“cbCategory[ID]”,其中 ID 是数据库中该类别的 ID。
然后我需要生成某种集合类(作为我的对象类的属性)来存储类别 ID 和 bool 值(选中/未选中)。
我的问题是,最好使用什么类型的集合类,我将如何绑定(bind)它?绑定(bind)的 XAML 和代码隐藏是什么样的?
希望这能很好地解释它,提前感谢您的回答!
- 定义一个类来保存类别名称 (
string
) 及其检查状态 ( bool
)。
- 定义一个
ObservableCollection<T>
类型的集合其中 T 是您刚刚在 (1) 中定义的类。
- 创建
ItemsControl
在 XAML 中并绑定(bind)其 ItemsSource
属性到 (2) 的集合。
- 定义一个
DataTemplate
在显示 CheckBox
的 XAML 中和一个 TextBlock
,将它们绑定(bind)到 (1) 中对象中的适当属性。
- 不要忘记设置您的
ItemsControl.ItemTemplate
到 DataTemplate
来自 (4)。
使用这种方式,您不需要从代码生成控件,您只需要为每个类别生成一个对象(在(1)中定义的对象)。
还有一个要考虑的旁注——每当你从代码手动生成控件时——你做错了,有一种更简单的方法使用绑定(bind)、样式和模板(有时还有更高级的功能,如附加属性等) .)
我是一名优秀的程序员,十分优秀!