我有一个UserControl
用作自定义按钮的按钮,但是由于我更改了围绕路由单击事件的命名空间不再起作用。基本上我的命名空间看起来像这样:
UI
UI.Controls
UI.Pages
我有UI.Controls.CustomButton
一个路由点击事件实现了类似的东西:
public static readonly RoutedEvent ClickEvent = EventManager.RegisterRoutedEvent(
"Click",
RoutingStrategy.Bubble,
typeof(RoutedEventHandler),
typeof(CustomButton));
public event RoutedEventHandler Click
{
add { AddHandler(ClickEvent, value); }
remove { RemoveHandler(ClickEvent, value); }
}
private void Border_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Border_MouseEnter(sender, e);
RaiseClickEvent();
}
private void RaiseClickEvent()
{
RoutedEventArgs newEventArgs = new RoutedEventArgs(Button.ClickEvent);
RaiseEvent(newEventArgs);
}
我正在尝试从UI.Pages.SomePage
这样的内部使用它:
XAML
<controls:CustomButton Text="New..." Click="NewButton_Click"/>
C#
public void NewButton_Click(object sender, RoutedEventArgs e)
{
//do something here
}
当我调试应用程序时,我看到RaiseEvent
my 内部UI.Controls.CustomButton
被击中,但NewButton_Click
my 内部UI.Pages.SomePage
从未被调用。
当一切都在同一个命名空间中时,这是有效的......我是否遗漏了一些明显的东西?谢谢!