1

GridView の項目がダブルクリックされたときにウィンドウにタブを追加したいと思います。ただし、追加されるタブはクリックした項目によって異なります。WPFでこれをどのように行うべきですか? RoutedEvents について考えましたが、パラメーターを渡す方法がわかりません。助言がありますか?

4

2 に答える 2

6

このコードプロジェクトの記事では、newを宣言する必要がないように、WPF にCLR のようなバージョンが含まれていればよかったのですが (かなり下の方で、"Second using custom RoutedEventArgs" を検索してください)RoutedEventとは異なる引数の型でnew を使用することについて説明しています。毎回委任します。RoutedEventArgsRoutedEventHandlerEventHandler<T> where T : EventArgs

サマリー:

  • RoutedEventArgs をサブタイプ化し、データのプロパティを持つ新しい型を作成します。
  • RoutedEventArgs サブタイプが RoutedEventArgs のデフォルト以外のコンストラクターを実装していることを確認してください。それらは機能するために必要です。
  • このサブタイプに一致する新しいデリゲートを宣言します。
  • コード内の他のカスタム イベントと同じように使用します (そのリンクにも記載されています)。
于 2010-05-30T22:01:59.903 に答える
0

ルーティング イベントではなくコマンドを使用する:

クリックされた項目にコマンドを設定し、XAML で RelativeSource バインディングを使用して、クリックされた項目の参照をコマンドのパラメーターとして渡します。

于 2010-05-30T22:15:42.233 に答える