トップページ > プログラム > 2014年10月05日 > JGc2UVUV

書き込み順位&時間帯一覧

34 位/239 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000010000000000000113



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
82
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18

書き込みレス一覧

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
82 :デフォルトの名無しさん[]:2014/10/05(日) 08:52:51.40 ID:JGc2UVUV
ここ、質問しても大丈夫ですか?
スレ違いならすいません。

C#でWPF開発しています。
Frameworkは4.0です。

UserControlを継承した自作クラス(MyControl)内でRoutedEventをBubbleでRaiseしたいのですが、利用側のXAML(MainWindow.xaml)で呼び出す際
にXamlParseExceptionが発生してしまいます。
デバッガでエラーの詳細を表示するとInnerExceptionに「オブジェクトがターゲットの型と一致しません。」というメッセージが出ているようです。

MyControlの実装は下記のようになります。

public static readonly RoutedEvent MyControlTouchEvent =
EventManager.RegisterRoutedEvent("MyControlTouch", RoutingStrategy.Bubble, typeof(RoutedEventArgs), typeof(MyControl));

public event RoutedEventHandler TaskBarGrab
{
add { base.AddHandler(MyControl.MyControlTouchEvent, value); }
remove { base.RemoveHandler(MyControl.MyControlTouchEvent, value); }
}

private void MyControlGrid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
RoutedEventArgs newEventArgs = new RoutedEventArgs(MyControl.MyControlTouchEvent);
RaiseEvent(newEventArgs);
}

わかる方がいらっしゃいましたら、ご教示ください。
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
87 :82[]:2014/10/05(日) 22:30:23.86 ID:JGc2UVUV
>>83-86
ご回答ありがとうございました。
教えて頂いた内容でトライしてみます。
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
88 :82[]:2014/10/05(日) 23:14:07.58 ID:JGc2UVUV
>>83-86
82です。
上記の質問の件ですが、解決しました。
>>85さんと>>86さんの指摘通り、RegisterRoutedEventの第3引数をRoutedEventArgsからRoutedEventHandler
に変えると正常に動作するようになりました。

皆様どうもありがとうございました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。