Ich bekomme hier vielleicht die Terminologie falsch, aber ich denke, ich versuche, ein angehängtes Ereignis zu erstellen.Angepasste Ereignisse in WPF
Im Bereich Surface SDK können Sie tun Dinge wie:
<Grid Background="{StaticResource WindowBackground}" x:Name="Foo" s:SurfaceFrameworkElement.ContactChanged="Foo_ContactChanged"/>
Ich möchte ein benutzerdefiniertes Ereignis erstellen, für die ein Handler kann auf die gleiche Weise in XAML hinzugefügt werden, aber ich habe Probleme.
Ich kann ein benutzerdefiniertes Routingereignis erstellen, aber XAML intellisense erkennt es nicht und der Ereignishandler wird nicht hinzugefügt, wenn ich ihn nur regelmäßig eintippe. Hier ist meine Event-Definition:
public static class TagRectEvents
{
public static readonly RoutedEvent TagRectEnterEvent = EventManager.RegisterRoutedEvent(
"TagRectEnter", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(TagRectEvents));
public static void AddTagRectEnterHandler(DependencyObject d, RoutedEventHandler handler)
{
UIElement element = d as UIElement;
if (element == null)
{
return;
}
element.AddHandler(TagRectEvents.TagRectEnterEvent, handler);
}
public static void RemoveTagRectEnterHandler(DependencyObject d, RoutedEventHandler handler)
{
UIElement element = d as UIElement;
if (element == null)
{
return;
}
element.RemoveHandler(TagRectEvents.TagRectEnterEvent, handler);
}
}
Bin ich gerade dabei alles falsch? Alle Beispiele "angehängtes Verhalten", die ich sehe, betreffen eher das Hinzufügen einer angefügten Eigenschaft und dann das Ausführen von Elementen mit Elementen, die diese Eigenschaft festlegen.