我有一组50 CheckBoxes
位于TabItem
内。点击按钮,我需要遍历CheckBoxes
,并根据CheckBox.Ischecked
是true
还是false
,它的相关变量将设置为a 0或1.
以下是我尝试开始的一些代码;
private void ApplyPrivilegeUpdateClick(object sender, RoutedEventArgs e)
{
var newPrivilegeModel = new EmployeePrivilegeModel();
int i = 0;
foreach (CheckBox c in companiesTabItem)
{
if (c.IsChecked == true)
{
newPrivilegeModel.Priv1 = 1;
}
i++;
}
}
newPrivlegeModel.Priv1
- 最多Priv50
,Priv1, Priv2, Priv3
等等。我真正不想做的是做If
循环对于所有50 CheckBoxes
并设置相关的Priv
。
我有两个问题,如何遍历CheckBoxes
中的所有50 TabItem
?我如何编码newPrivlegeModel.Priv1
以便它们全部自动更新?例如,newPrivlegeModel.Priv + i
不起作用,我该如何解决这个问题?
答案 0 :(得分:0)
为什么不使用Dictionary
代替ofEmployeePrivilegeModel
'?
我有一组50个CheckBox,放在一个TabItem中。在按钮单击时,我需要遍历CheckBoxes并根据CheckBox.Ischecked是true还是false,它的相关变量将设置为0或1。
这是我开始尝试开始的一些代码;
private void ApplyPrivilegeUpdateClick(object sender, RoutedEventArgs e)
{
var newPrivilegeModel = new Dictionary<string,int>();
int i = 0;
foreach (CheckBox c in companiesTabItem)
{
if (c.IsChecked == true)
{
if(newPrivilegeModel.ContainstKey("Priv"+(i + 1).ToString())){
newPrivilegeModel["Priv"+(i + 1).ToString()]=1;
}
else
{
newPrivilegeModel.Add("Priv"+(i + 1).ToString(),1);
}
}
i++;
}
}
答案 1 :(得分:0)
将数组或列表添加到EmployeePrivilegeModel类以保存所有值。
var newPrivilegeModel = new EmployeePrivilegeModel();
newPrivilegeModel.PrivList = new List<bool>();
foreach (CheckBox c in companiesTabItem)
{
if (c.IsChecked == true)
{
newPrivilegeModel.PrivList.Add(1);
}
else
{
newPrivilegeModel.PrivList.Add(0);
}
}