3
私はいつでも、DataGridでいくつかの行が選択されることを望みます。私はそれが選択を許さないようにしたい。それを達成する方法?私は `e.RemovedItems.Countを使用する場合、私は` e.AddedItems.Count == 0 'と試みたが、していないWPF DataGridの選択解除を防ぐには?
私はいつでも、DataGridでいくつかの行が選択されることを望みます。私はそれが選択を許さないようにしたい。それを達成する方法?私は `e.RemovedItems.Countを使用する場合、私は` e.AddedItems.Count == 0 'と試みたが、していないWPF DataGridの選択解除を防ぐには?
XAML
<DataGrid SelectionMode="Single" SelectionChanged="DataGrid_SelectionChanged">
...
</DataGrid>
C#の
private void DataGrid_SelectionChanged(
object sender,
SelectionChangedEventArgs e)
{
DataGrid g = sender as DataGrid;
if (g != null &&
e.AddedItems.Count == 0 &&
e.RemovedItems.Count > 0)
{
this.Dispatcher.BeginInvoke((ThreadStart)delegate
{
g.SelectedItem = (Device)e.RemovedItems[0];
});
}
}
> 0'それがもたらし無限ループとStackOverflowException –
私は、SelectedItemを設定すると、選択されたイベントがトリガされ、まだ選択されていないことを確認することなく(つまり、 'e.AddedItems.Count == 0')無期限に。 –
'e.AddedItems.Count == 0'を追加するとどうなりますか?それは動作しますか? –