WPF 后台自动生成多个复选框
时间: 2023-07-03 22:10:28 浏览: 181
用WPF实现多选下拉框
4星 · 用户满意度95%
您可以使用 WPF 中的 `CheckBox` 控件和 `ItemsControl` 控件来生成多个复选框。下面是一个示例代码:
```xaml
<ItemsControl x:Name="MyCheckBoxList">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Content="{Binding Name}" IsChecked="{Binding IsSelected}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
```
在后台代码中,您可以使用一个 `ObservableCollection` 来绑定数据源,并使用它来控制生成的复选框数量。下面是一个示例:
```csharp
public class MyCheckBoxItem
{
public string Name { get; set; }
public bool IsSelected { get; set; }
}
public partial class MainWindow : Window
{
public ObservableCollection<MyCheckBoxItem> CheckBoxItems { get; set; }
public MainWindow()
{
InitializeComponent();
CheckBoxItems = new ObservableCollection<MyCheckBoxItem>
{
new MyCheckBoxItem { Name = "Option 1", IsSelected = false },
new MyCheckBoxItem { Name = "Option 2", IsSelected = false },
new MyCheckBoxItem { Name = "Option 3", IsSelected = false }
};
MyCheckBoxList.ItemsSource = CheckBoxItems;
}
// 在处理程序中,遍历 CheckBoxItems,检查选中的选项
private void Button_Click(object sender, RoutedEventArgs e)
{
foreach (var item in CheckBoxItems)
{
if (item.IsSelected)
{
// 处理选中项
}
}
}
}
```
这将生成一个名为 `MyCheckBoxList` 的 `ItemsControl`,其中包含三个名为 "Option 1"、"Option 2" 和 "Option 3" 的复选框。在代码后台中,您可以通过遍历 `CheckBoxItems` 集合来获取所选项,并相应地处理它们。
阅读全文