【发布时间】: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