我已經創建了一個數據表,其中包含4列,3個是字符串,另一個是布爾類型。 我將數據表(xmldatadocument)映射到wpf中的datagridview。 所以得到的結果看起來像是數據網格中的文本列和複選框列。 我添加了一個複選框頭模板到chekbox列標題。 我能夠執行取消選中列中的所有複選框,當我\頭選框未選中。 我也能夠執行檢查列中的所有複選框,當檢查標題chekcbox。但我有點麻煩,如果該列中的複選框之一未選中,我需要取消選中標題複選框也.. 請幫助我解決這.. 我已經添加了截圖,XAML和代碼如下。取消勾選列表中的任何一個CellTemplate複選框,我想取消選中標題複選框
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; }
}
不應該設置支票上經過事件真假不檢查的事件?你似乎做了相反的事情。另外,是否綁定到網格中的複選框列? – Akanksha 2012-04-19 11:35:43
@Dzire我糾正了它。是lst綁定到網格中的複選框列。 – iYadav 2012-04-19 11:59:46
您是否在綁定到複選框列的屬性上調用屬性更改?我試圖結束。我也綁定了標題複選框,並將綁定到該列的屬性更改。它的工作 – Akanksha 2012-04-19 12:05:30