0

別のユーザー コントロール 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"

この投稿に似たイベントバブリングをしようとしています

4

1 に答える 1