カスタムボタンとして機能するを持って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
内部UI.Controls.CustomButton
がヒットしていることがわかりますが、NewButton_Click
内部UI.Pages.SomePage
が呼び出されることはありません。
これは、すべてが同じ名前空間にあるときに機能していました...明らかな何かが欠けていますか?ありがとう!