【问题标题】:how to checkall Checkbox in datagrid Silverlight mvvm?如何在datagrid Silverlight mvvm中选中复选框?
【发布时间】:2012-12-17 14:31:18
【问题描述】:

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

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

我的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 是一个包含姓名和年龄的类。

如何做到这一点..?请帮我这样做..

【问题讨论】:

    标签: silverlight entity-framework mvvm


    【解决方案1】:

    我们在 WPF 聊天室中解决了这个问题。事实证明,DataContext 中使用的模型没有 IsSelected 属性,因此代码没有运行(或编译)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 2018-06-24
      • 2011-10-13
      相关资源
      最近更新 更多