2012-02-09 7 views
0

DataGridでダブルクリックとソートに問題があります。DataGridでのダブルクリックとソートの競合

有効な行のヘッダーをダブルクリックすると、ソートが壊れてしまいます。私はダブルクリックをフィルタリングしようとしましたが、失敗しました。これはコードですが、dependencyObjectは常に「DataGridHeaderBorder」という名前ではありません。

答えて

1
private void dataGrid1_MouseDoubleClick(object sender, MouseButtonEventArgs e) 
{ 
    DependencyObject dependencyObject = (DependencyObject)e.OriginalSource; 

    if (dependencyObject.DependencyObjectType.Name != "DataGridHeaderBorder") 
    { 
     Edit_Task_MenuItem(sender, (RoutedEventArgs)e); 
    } 
} 

e.OriginalSourcerouted eventが発射され、それはヘッダテキストまたはヘッダ内の他の要素を含むTextBlockすることができる、非常に最初のオブジェクトです。一方、senderは、イベントハンドラがアタッチされているオブジェクトになります。

+0

ありがとう、私はこのようにすることにしましたが、私のセルにはDataGridCheckBoxColumnがあります。 DataGridの枠線をダブルクリックすると、TextBlockではなくBorderをキャプチャします。 DataGridCheckBoxColumnでセルをダブルクリックすると、Borderもキャプチャされます。これをどうすれば解決できますか? – Aleksey

+0

@アレクシー:私はあなたが何をしようとしているのか分からないので、私は知らない。また、あなたは*なぜ私が思ったようにあなたが期待したように振る舞わないかについて尋ねられました。 –

関連する問題