我从 MyMenu.xaml.cs(一个用户控件)创建了一个路由事件 ItemSelectedEvent,它是另一个用户控件 UserControl1 的一部分。在 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"
我正在尝试进行类似于这篇文章的事件冒泡