- 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 に変えると正常に動作するようになりました。 皆様どうもありがとうございました。
|
|