我正在构建C#WPF应用程序,其中包含不同网格中的许多CheckBox。 这是XAML代码的示例:
<Grid x:Name="grid1">
<CheckBox x:Name="box1" Content="Box 1"/>
</Grid>
<Grid>
<Grid x:Name="grid4">
<CheckBox x:Name="box12" Content="Box 12"/>
</Grid>
</Grid>
等等。
在代码隐藏中,我需要获取具有属性IsChecked =&#34; True&#34;通过count_btn_Click()
我已尽力而为,一无所获。 (请记住,我只是一个业余爱好者,如果可能的话,请加上更多描述)。
UPD1(致Charles Mager的评论): 有更简单的方法吗?例如。如果我有一个预定义的复选框列表&#39;名。
答案 0 :(得分:0)
如果我有一个预定义的复选框列表&#39;名称
您将如何获得该预定义列表?
一个例子可能如下所示:
class MainWindow : Window
{
private CheckBox[] _checkBoxes;
public MainWindow()
{
InitializeComponent();
_checkBoxes =
{
box1,
box12,
// etc.
};
}
}
然后你应该能够通过一个简单的LINQ过滤器获得对象的枚举:
_checkBoxes.Where(x => x.IsChecked);
例如:
foreach (CheckBox checkBox in _checkBoxes.Where(x => x.IsChecked))
{
// do something with each checkBox value
}
我希望上面的内容让你指出正确的方向。没有a good, minimal, complete code example清楚地表明你想要完成的事情,就不可能提供具体的建议;如果上述内容看起来不够有用,请编辑您的问题,使其包含足够的详细信息,以了解您真正需要帮助的内容。