2011-08-14 17 views
2

私はWPF DataGridにいくつかのスタイリング、プロパティ、およびイベントを用意しています。
何かを行うためにOnMouseLeftButtonDownイベントとOnMouseLeftButtonUpイベントをオーバーライドしたいと思います。
どうすればよいですか?
ありがとうございます!WPFはDataGridをオーバーライドします

+1

は、あなたがオーバーライドだけではなく、サブスクリプションが必要か?これは何のために必要なのですか?何を試してみましたか?問題は何ですか? –

+0

@ H.B。私はここで尋ねられた問題を解決しようとしています:http://stackoverflow.com/questions/3767708/wpf-drag-and-drop-from-a-listbox-that-has-selectionmode-extendedそして与えられた解決策を試しています。どうやらそれはそれを解決しない(私がChrisFが提案したときでさえ)。何か案は? – amitairos

答えて

4

DataGridに基づいて独自のクラスを作成し、必要なイベントハンドラを追加します。次に、XAMLで "通常"の代わりにDataGridを使用します。

public class MyDataGrid : DataGrid 
{ 
    // Your overrides here 
} 

そして、XAMLで:

<Window x:Class="MyProject.MyNamespaceMyClass" 
     .... 
     xmlns:local="clr-namespace:MyProject.MyNamespace"> 

    .... 
    <local:MyDataGrid ... /> 
    .... 

</Window> 
+0

ありがとうございます。私はここで尋ねられた問題を解決しようとしています:http://stackoverflow.com/questions/3767708/wpf-drag-and-drop-from-a-listbox-that-has-selectionmode-extendedそして与えられた解決策を試しています。それは明らかにそれを解決しません。何か案は? – amitairos

+0

Brilliant - MyDataGrid.cs内のOnAutoGeneratingColumnをオーバーライドして、グリッド列見出しとしてComponentModel属性を使用するのに役立ちます –

0

イベントを追加し、イベントの場合はe.Handled = trueと入力します。イベントのバブリングの順序は、上に比べて下が違っており、プレビューがあることに注意してください。または、メソッドをオーバーライドできます。私はイベントをもっと快適にしています。ダウンイベントをオーバーライドすると、アップイベントが発生しない可能性がありますが、それはテストするものです。