我有这堂课:
public static class MyData
{
public static bool val1 { get; set; }
public static bool val2 { get; set; }
public static bool val3 { get; set; }
public static bool val4 { get; set; }
public static bool val5 { get; set; }
}
我的这个数组有相同的变量名称:
string[] arr;
arr[0] = val1;
arr[1] = val2;
arr[2] = val3;
arr[3] = val4;
arr[4] = val5;
我的Check Boxs
:
<StackPanel>
<CheckBox
Name="cbval1"
FontSize="14"
Foreground="Black"
Margin="0,0,0,0"/>
<CheckBox
Name="cbval2"
FontSize="14"
Foreground="Black"
Margin="0,0,0,0"/>
<CheckBox
Name="cbval3"
FontSize="14"
Foreground="Black"
Margin="0,0,0,0"/>
<CheckBox
Name="cbval4"
FontSize="14"
Foreground="Black"
Margin="0,0,0,0"/>
<CheckBox
Name="cbval5"
FontSize="14"
Foreground="Black"
Margin="0,0,0,0"/>
</StackPanel>
因此,当我的应用程序启动时,我会阅读一些文件,然后我将string[]
包含所有这些值,我希望根据这些值select/unselect
我的复选框。
有什么想法吗?
或许我可以用其他方式绑定它。
答案 0 :(得分:0)
这是该绑定的MVVM版本。 1. Xaml代码:
<ListBox ItemsSource="{Binding CheckBoxDataModels}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate DataType="{x:Type soCheckBoxsListboxHelpAttempt:CheckBoxDataModel}">
<CheckBox
Name="cbval2"
Content="{Binding Title, Mode=Default, UpdateSourceTrigger=PropertyChanged}"
IsChecked="{Binding IsItChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
FontSize="14"
Foreground="Black"
Margin="0,0,0,0"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
2.查看型号代码:
public ObservableCollection<CheckBoxDataModel> CheckBoxDataModels { get; set; }
3。型号代码:
public bool IsItChecked
{
get { return _isItChecked; }
set
{
_isItChecked = value;
OnPropertyChanged();
}
}
public string Title
{
get { return _title; }
set
{
_title = value;
OnPropertyChanged();
}
}
4。查看模型初始化:
private void InitDataContext()
{
DataContext = new MainViewModel
{
CheckBoxDataModels = new ObservableCollection<CheckBoxDataModel>(new List<CheckBoxDataModel>
{
new CheckBoxDataModel
{
IsItChecked = true,
Title = "first"
},
new CheckBoxDataModel
{
IsItChecked = false,
Title = "second"
},
new CheckBoxDataModel
{
IsItChecked = true,
Title = "third"
},
new CheckBoxDataModel
{
IsItChecked = false,
Title = "first"
}
})
};
}