0

別の要素内の要素へのアクセスについて質問があります。

状況

<grid name=container>
    <grid name=menu >
       inside here is the menu
    </grid
 <button />
<grid>

ボタンが押された場合、2 番目のグリッド (メニュー付き) を非表示にする必要があります。ボタンを押したときにグリッド要素にアクセスするにはどうすればよいですか。これはデータ テンプレート内にあり、複数のオブジェクトが同じテンプレートを使用するため、グリッドの実際の名前を使用しない必要がありますが、実際にアクティブなものだけを非表示にする必要があります。

4

1 に答える 1

1

RoutedEventArgs クラスには、必要な情報を決定するために使用できる Source、OriginalSource プロパティがあります。さらに、sender 引数もイベント ハンドラーで使用できます。

次のリンクは、Source、OriginalSource、および Sender の違いを説明しています (また、質問にも回答しています)。 RoutedEventArgs.Source と送信者

RoutedEventArgs.OriginalSource - 最初にイベントを発生させた元のオブジェクト

RoutedEventArgs.Source - イベントを発生させたオブジェクト。これは通常、OriginalSource と同じですが、複合コントロールを扱う場合は、OriginalSource オブジェクトを含む親にすることができます。*

Sender - イベントを処理している現在の要素

于 2012-05-04T11:30:31.237 に答える