我有一組50 CheckBoxes
放置在TabItem
內。點擊一個按鈕,我需要通過CheckBoxes
環和基於CheckBox.Ischecked
是true
或false
,它的相關變量將被設置爲0或1。Loop Through TabItem CheckBoxes
下面是一些代碼我一起開始嘗試開始;
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
。
我有兩個問題,我如何循環遍歷TabItem
中的所有50 CheckBoxes
?我如何編碼newPrivlegeModel.Priv1
以便它們全部自動更新?例如,newPrivlegeModel.Priv + i
不起作用,所以我該如何解決這個問題?
您可以通過利用WPF的強大約束力的系統解決這一確切的問題:每個複選框的財產器isChecked綁定到其相應的財產EmployeePrivilegeModel。轉換器可用於在布爾值和整數之間進行轉換。 MVVM模式是在WPF中執行此操作的正統方法。 –
你應該使用收集和綁定 – Paparazzi
我已經開始使用集合並綁定到其他地方,唯一的問題是有5個'TabItems'每個都有50個'CheckBoxes',所以我需要250個綁定元素而不是50個。 – CBreeze