【发布时间】:2013-02-01 20:07:58
【问题描述】:
我的模型(X 类)布尔属性:IsSelected,链接到 WPF DataGrid,如下所示:
<DataGrid SelectedIndex="{Binding SelectedXIndex,Mode=TwoWay}"
DataContext="{Binding MyViewModel}"
ItemsSource="{Binding ListX}" AutoGenerateColumns="False">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="IsSelected"
Value="{Binding IsSelected, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"/>
</Style>
</DataGrid.RowStyle>
</DataGrid>
ListX- ObservableCollection
IsSelecte- 调用 NotifyPropertyChange
效果很好。
但是当我有很多行时,我需要滚动查看它们,然后按下运行以下功能的“全选”按钮,他只选择了一些行而不是全部:(即使尽管列表中的所有 IsSelected 都是 true)
public void SelectAll()
{
ListX.All(c => c.IsSelected = true);
}
我不明白为什么会这样?
【问题讨论】:
-
您是否在“相关”部分看到this question?
-
@LPL 它没有帮助我,那里的答案不成功。我说的是从 viewModel 到 XMAL 的返回数据,而这个问题恰恰相反