C# 选中循环c中列表框内的所有复选框#
我有以下代码:C# 选中循环c中列表框内的所有复选框#,c#,wpf,checkbox,listbox,C#,Wpf,Checkbox,Listbox,我有以下代码: <ListBox Name="lstCheckBoxes" Grid.Row="4" Grid.RowSpan="5" Grid.Column="1" Grid.ColumnSpan="5"> <CheckBox Name="CheckboxKlimaanlage" Content="Klimaanlage"/> <CheckBox Name="CheckboxSensor" Content="Sensor"/> &
<ListBox Name="lstCheckBoxes" Grid.Row="4" Grid.RowSpan="5" Grid.Column="1" Grid.ColumnSpan="5">
<CheckBox Name="CheckboxKlimaanlage" Content="Klimaanlage"/>
<CheckBox Name="CheckboxSensor" Content="Sensor"/>
<CheckBox Name="CheckboxDigital" Content="Digital"/>
<CheckBox Name="CheckboxAnalog" Content="Analog"/>
<CheckBox Name="CheckboxAndere1" Content="Anderes"/>
<CheckBox Name="CheckboxAndere2" Content="Anderes"/>
<CheckBox Name="CheckboxAndere3" Content="Anderes"/>
<CheckBox Name="CheckboxAndere4" Content="Anderes"/>
<CheckBox Name="CheckboxAndere5" Content="Anderes"/>
<CheckBox Name="CheckboxAndere6" Content="Anderes"/>
<CheckBox Name="CheckboxAndere7" Content="Anderes"/>
<CheckBox Name="CheckboxAndere8" Content="Anderes"/>
</ListBox>
问题是我想用循环检查列表框中的每个复选框,并将活动框中的内容保存在类似列表的内容中
我已经看到一些代码,比如foreach(面板1.控件中的控件c)
。。
但是
.Controls
不起作用。Controls
属性可能来自WinForms项目控件
如果您使用wpf面板(网格、堆栈面板)-它们有子级
但是ListBox不是一个面板,它是一个ItemsControl,并且有项
foreach (CheckBox c in lstCheckBoxes.Items)
{
if (c.IsChecked == true)
{
}
}
它还有
ItemsSource
属性,可以通过绑定进行设置。我建议阅读WPF中的MVVM,使用绑定到视图模型属性的ItemsSource
。控件
属性可能来自WinForms项目控件
如果您使用wpf面板(网格、堆栈面板)-它们有子级
但是ListBox不是一个面板,它是一个ItemsControl,并且有项
foreach (CheckBox c in lstCheckBoxes.Items)
{
if (c.IsChecked == true)
{
}
}
它还有
ItemsSource
属性,可以通过绑定进行设置。我建议阅读WPF中的MVVM,使用绑定到视图模型属性的ItemsSource
。太好了,这很有效。非常感谢。但是如何将复选框内容保存为类似列表的字符串?@Morta,假设您在foreach循环之前的某个地方声明了一个列表(var L=new List();
),请从Content属性添加文本:L.add(c.Content.ToString())代码>谢谢你的帮助!太好了,这很有效。非常感谢。但是如何将复选框内容保存为类似列表的字符串?@Morta,假设您在foreach循环之前的某个地方声明了一个列表(var L=new List();
),请从Content属性添加文本:L.add(c.Content.ToString())代码>谢谢你的帮助!