2

アプリケーション全体にクリック可能な画像/長方形コントロールがあり、それらをコードで配線することを好みます。

clickableimagecontrol.MouseUp += MouseUp_Handler

データテンプレートで同じことを行う方法を理解するのに苦労しています。基本的に、フックを挿入できるように、テンプレートが各アイテムに適用される場所を見つける必要があります。

WPF は何らかのタイプのコマンドを使用することを推奨していることは知っていますが、それにはより多くの定型コードが必要であり、言うまでもなく、イメージ/長方形はコマンドをサポートしていないため、代わりにスタイル付きのボタン コントロールを使用してすべてをやり直す必要があります。

これは可能ですか?

4

1 に答える 1

1

実行可能な解決策を参照してください:

    private void ElementKeyUp(object source, KeyEventArgs args)
    {
        throw new NotImplementedException();
    }

    private DataTemplate GetDataTemplate()
    {
        var result = new DataTemplate();

        var factory = new FrameworkElementFactory(typeof(ListViewItem));

        var handler = new KeyEventHandler(ElementKeyUp);

        factory.AddHandler(KeyUpEvent, handler);

        result.VisualTree = factory;

        return result;
    }
于 2012-11-01T09:09:48.857 に答える