Създадох таблица с данни, която съдържа 4 колони, 3 са низове, а друга е от булев тип. картографирах datatable(xmldatadocument) към datagridview в wpf. така че резултатът изглежда текстова колона и колона с квадратчета за отметка в мрежата с данни. И добавих шаблон за заглавка на полето за отметка към заглавката на колоната с отметка. Мога да премахна всички квадратчета за отметка в колоната, когато квадратчето за отметка в заглавката не е отметнато. Мога също така да проверя всички квадратчета за отметка в колоната, когато полето за отметка в заглавката е отметнато. но съм малко обезпокоен, ако едно от квадратчетата за отметка в тази колона не е отметнато, трябва да премахна отметката и в квадратчето за отметка в заглавката.. Моля, помогнете ми да разреша това. Добавих екранната снимка, XAML и кода по-долу.
PS: използване на WPF datagrid.
<dg:DataGrid.Columns>
<dg:DataGridCheckBoxColumn Binding="{Binding Check}" Width="50" >
<dg:DataGridCheckBoxColumn.HeaderTemplate>
<DataTemplate x:Name="dtAllChkBx">
<CheckBox Name="cbxAll" Content="{x:Static properties:Resources.lblAll}" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked"></CheckBox>
</DataTemplate>
</dg:DataGridCheckBoxColumn.HeaderTemplate>
public static ObservableCollection<Lst> list = new ObservableCollection<Lst>();
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
for (int i = 0; i < list.Count; i++)
{
list[i].Check = true;
}
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
for (int i = 0; i < list.Count; i++)
{
list[i].Check = false;
}
}
public class Lst : ObservableCollection<Lst>
{
public bool Check { get; set; }
}
INotifypropertyChanged
във вашия класLst
. Прочетете също нещо наMVVM
. Вашият сетер във вашия класLst
нямаChange notification
INotifyPropertyChnaged
ще ви даде събитие, което можете да повдигнете в сетера във вашияProperty
Check
. И да, в такива случаи обикновено не използваме `Auto property. Моля, променете на Property с резервно поле. - person Ankesh   schedule 23.04.2012