別のユーザー コントロール UserControl1 の一部であるルーティング イベント ItemSelectedEvent を MyMenu.xaml.cs (ユーザー コントロール) から作成しました。UserControl1.xaml には、
<UserControl
...
xmlns:local="clr-namespace:"MyNameSpace"
local:MyMenu.ItemIsSelected= "ItemIsSelected" >
私のプログラムは実際に正常に動作し、ItemIsSelected でイベントを取得しています。問題は、XAML が言い続けることです。
The attachable property 'ItemIsSelected' was not found in type 'MyMenu'
私の MyMenu.xaml.cs には、次のものがあります。
public static readonly RoutedEvent ItemSelectedEvent =
EventManager.RegisterRoutedEvent(
"ItemIsSelected", RoutingStrategy.Bubble,
typeof(RoutedEventHandler),
typeof(UserControl));
public event RoutedEventHandler ItemIsSelected
{
add { AddHandler(ItemSelectedEvent , value); }
remove { RemoveHandler(ItemSelectedEvent , value); }
}
エラーは、デザイン ビューに「問題のある読み込み」を示しています。「local:MyMenu....」という行を削除するとすぐに、すべて正常に動作します。
前回の投稿で誤りがあったことに注意してください。私はそれを次のように変更しました(イベントではなく、イベント処理メソッド名です):
local:MyMenu.ItemIsSelected= "ItemIsSelected"
この投稿に似たイベントバブリングをしようとしています