【问题标题】:Silver Light Grid Select All Check Box银色光网格全选复选框
【发布时间】:2014-09-06 16:12:27
【问题描述】:

我是 Silverlight 的新手。 我有一个数据网格,其中第一列包含一个复选框,让用户选择特定的行。我在数据网格列标题中添加了一个复选框以选中或取消选中所有行。 这就是我添加的方式

<sdk:DataGridCheckBoxColumn Binding="{Binding IsSelected, Mode=TwoWay}" >
                                <sdk:DataGridCheckBoxColumn.HeaderStyle>
                                    <Style TargetType="sdk:DataGridColumnHeader">
                                        <Setter Property="ContentTemplate">
                                            <Setter.Value>
                                                <DataTemplate>
                                                    <CheckBox cal:Message.Attach="[Event Checked]=[Action SelectAllInPage()]; [Event Unchecked]=[Action UnSelectAllInPage()]" Margin="2,0,-13,0" IsChecked="{Binding Path=DataContext.AllChecked, ElementName=LayoutRoot, Mode=TwoWay}"/>
                                                </DataTemplate>
                                            </Setter.Value>
                                        </Setter>
                                    </Style>
                                </sdk:DataGridCheckBoxColumn.HeaderStyle>
                            </sdk:DataGridCheckBoxColumn>
                                               <sdk:DataGridTemplateColumn Header="Household" Width="100" >
                                <sdk:DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <StackPanel Orientation="Horizontal">
                                            <CheckBox HorizontalAlignment="Left" x:Name="IsSelected" IsChecked="{Binding IsSelected, Mode=TwoWay}" Margin="5,5,0,0" />
                                            <TextBlock Text="{Binding HouseholdId}" TextWrapping="NoWrap" VerticalAlignment="Center" Margin="0,5,0,0" FontSize="11" />
                                        </StackPanel>
                                    </DataTemplate>
                                </sdk:DataGridTemplateColumn.CellTemplate>
                            </sdk:DataGridTemplateColumn>

该功能运行良好,并且符合预期,但它在第一列中显示了两个复选框。 当我删除 IsSelected 复选框时,只出现一个复选框,但不允许选择特定行。 这个问题的原因是什么,我应该怎么做,我假设 Binding IsSelected 导致了这个问题 我从 DataGridCheckBoxColumn 中删除了绑定,在这种情况下它没有显示任何记录

【问题讨论】:

    标签: silverlight mvvm datagrid


    【解决方案1】:

    在您在问题中显示的 xaml 中,您声明了两列:一列 DataGridCheckBoxColumn 和一列 DataGridTemplateColumn,其 CheckBoxTextBlock 在其 CellTemplate 中组合。因此,您将看到每行有两个 CheckBox,第一个属于 DataGridCheckBoxColumn,第二个属于 DataGridTemplateColumn。 删除 CheckBoxColumn 或从 TemplateColumn 的 CellTemplate 中删除 CheckBox。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 2013-10-18
      相关资源
      最近更新 更多