Это мой код XAML
<DataGrid x:Name="missiongrid" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="Mission type" Width="320">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox x:Name="UpCheckbox" Margin="10,10,0,0"
Content="Name"
Checked="UpCheckbox_Click"
>
</CheckBox>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Name="standardCheckbox" Margin="10,10,0,0" IsChecked= "{Binding Column1}" Checked="CheckBox_Click_1" Unchecked="UnCheckBox_Click_1" />
<TextBlock Text="{Binding Column2}" Padding="10,5,0,0" HorizontalAlignment="Left" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Location" Binding="{Binding Column3}"/>
</DataGrid.Columns>
</Datagrid>
Я хочу, чтобы все флажки в стандартном флажке проверяли, когда флажок Upcheckbox проверяется во время выполнения.Это мой код позади.Все выполняется в сетке данных
myDataItems = new List<DataItem>();
myDataItems.Add(new DataItem { Column1 = true, Column2 = "Gambler", Column3 = "Jurassic Park", Column4 = "CasinoRoyal", Column5 = "JohnGramer" });
myDataItems.Add(new DataItem { Column1 = true, Column2 = "Gambler", Column3 = "Lord of the Ring", Column4 = "CasinoRoyal", Column5 = "JohnGramer" });
enter code here
myDataItems.Add(new DataItem { Column1 = false, Column2 = "Gambler", Column3 = "Harry potter", Column4 = "CasinoRoyal", Column5 = "JohnGramer" });
missiongrid.ItemsSource = myDataItems;
Я пытаюсь добавить этот метод onCheck, который вызывается, когда флажок установлен.
private void UpCheckbox_Click(object sender, RoutedEventArgs e)
{
for (int i = 0; i < myDataItems.Count; i++)
{
myDataItems[i].Column1 = true;// not working
}
}
а это не работает?Флажок вообще не изменился во время выполнения, только флажок заголовка установлен
что мне делать?
**
Обновление:
**
Это мой код элемента данных
public class DataItem : INotifyPropertyChanged
{
private bool _column1;
public bool Column1 {
get { return _column1; }
set
{
_column1 = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("Column1"));
}
}
public string Column2 { get; set; }
public string Column3 { get; set; }
public string Column4 { get; set; }
public string Column5 { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
}