0

在我的 silverlight5 和 MVVM 项目中,我有一个疑问。

我有一个 Datagrid 控件,我加载了一些客户的详细信息。

我的数据网格结构如下。

[CheckBox] | CustomerName | CustomerAge
________________________________________
[CheckBox] | Raj          | 23
----------------------------------------
[CheckBox] | Ravi         | 24
----------------------------------------
[CheckBox] | Rajkumar     | 25
________________________________________


<sdk:DataGrid ItemsSource="{Binding Details}" AutoGenerateColumns="False" SelectedItem="{Binding SelectedItem,Mode=TwoWay}" Name="DG">
<sdk:DataGridTemplateColumn>
  <sdk:DataGridTemplateColumn.HeaderStyle>
     <Style TargetType="sdk:DataGridColumnHeader">
        <Setter Property="Template">
          <Setter.Value>
             <ControlTemplate>
                <Grid>
                  <CheckBox VerticalAlignment="Center" HorizontalAlignment="Center" 
                            Command="{Binding AllCheckedCommand}"/>
                </Grid>
             </ControlTemplate>
          </Setter.Value>
        </Setter>
     </Style>
   </sdk:DataGridTemplateColumn.HeaderStyle>
   <sdk:DataGridTemplateColumn.CellTemplate>
   <DataTemplate>
           <CheckBox IsChecked="{Binding IsSelected,Mode=TwoWay}" Content="Select All" 
                     VerticalAlignment="Center" HorizontalAlignment="Center"/>
   </DataTemplate>
   </sdk:DataGridTemplateColumn.CellTemplate>
   </sdk:DataGridTemplateColumn>

   <sdk:DataGridTemplateColumn Header="Name" MinWidth="130" MaxWidth="180">
   <sdk:DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
           <TextBlock Text="{Binding Name,Mode=TwoWay}" />
       </DataTemplate>
   </sdk:DataGridTemplateColumn.CellTemplate>
   </sdk:DataGridTemplateColumn>


   <sdk:DataGridTemplateColumn Header="Age" MinWidth="130" MaxWidth="180">
   <sdk:DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
           <TextBlock Text="{Binding Age,Mode=TwoWay}" />
       </DataTemplate>
   </sdk:DataGridTemplateColumn.CellTemplate>
   </sdk:DataGridTemplateColumn>
 </sdk:DataGrid.Columns>

如果我检查了顶部标题 CheckBox 意味着所有的 CheckBox 也检查了。如何建立这一点。

注意:这里 (ItemsSource="{Binding Details}") Details 是一个包含名称和年龄的类。

如何实现这一目标..?请帮我这样做..

4

1 回答 1

1

我们在 WPF 聊天室中对此进行了整理。事实证明,正在使用的模型DataContext没有IsSelected属性,因此代码没有运行(或编译)。

于 2013-01-03T12:53:05.130 回答