3
我希望在任何給定的時刻在DataGrid中選擇一些行。我不希望它允許取消選擇。如何實現這一目標?如何防止在WPF DataGrid中取消選擇?
我希望在任何給定的時刻在DataGrid中選擇一些行。我不希望它允許取消選擇。如何實現這一目標?如何防止在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];
});
}
}
我還沒有'e.AddedItems.Count == 0'但是當我使用'e.RemovedItems.Count> 0'它產生嘗試一個無限循環和一個StackOverflowException – 2012-03-01 17:56:13
我期望,因爲設置SelectedItem觸發選擇更改事件,並且不確定沒有選擇(即e.AddedItems.Count == 0),該分配將觸發處理程序無限期。 – 2012-03-01 18:11:27
添加'e.AddedItems.Count == 0'時會發生什麼?它工作嗎? – 2012-03-01 18:11:54