- PR -

【WPF】RoutedEvent発生コントロールの取得

1
投稿者投稿内容
ssan-un
会議室デビュー日: 2008/11/22
投稿数: 1
投稿日時: 2008-11-22 19:24
開発言語:C#
WPFブラウザアプリケーション

WPFのRoutedEventについての質問なのですが、
ユーザーコントロール(仮にUserControl.xaml:クラス名UserControl)
を作成し、その中にボタンを配置します。
ボタンで発生したイベントを親側のGridでキャッチして、
クリックされたボタンによって処理を分岐するという方法をとりたいのですが、
イベントは取得できるのですが、イベントを発生させているコントロールが取得
できません。

親側
<Grid Button.Click="ハンドラ名">
<UserControl>
</Grid>

UserControl側
<Grid>
<Button Click="ハンドラ名"/>
</Grid>

親側のイベントハンドラ内でe.Sourceを見るとUserControlとなっています。
ここでボタンを取得したいを思っております。

お分かりでしたらご教授ください。
よろしくおねがいします。
なかむら
ベテラン
会議室デビュー日: 2008/11/11
投稿数: 67
お住まい・勤務地: 福岡
投稿日時: 2008-11-22 22:48
UserControl 側に、中のボタンがクリックされたことを伝えるイベントを追加すればいいのでは?
中のボタンがクリックされた時にそのイベントを発生させて、イベント引数にクリックされたボタンの情報を格納してやれば、親側で判断できると思います。

_________________
Nakamura Blog
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2008-11-23 12:40
RoutedEventArgs.OriginalSource
要するに
e.OriginalSource
で取得できたかな。
1

スキルアップ/キャリアアップ(JOB@IT)