ここで用語を間違っているかもしれませんが、添付イベントを作成しようとしていると思います。
Surface SDK では、次のようなことができます。
<Grid Background="{StaticResource WindowBackground}" x:Name="Foo" s:SurfaceFrameworkElement.ContactChanged="Foo_ContactChanged"/>
同様にXAMLでハンドラーを追加できるカスタムイベントを作成したいのですが、うまくいきません。
カスタム ルーティング イベントを作成できますが、XAML インテリセンスでは認識されず、定期的に入力するだけではイベント ハンドラーが追加されません。これが私のイベント定義です:
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 );
}
}
私はそれについてすべて間違っていますか?私が目にするすべての「添付動作」の例は、添付プロパティを追加し、そのプロパティを設定する要素を操作することに関するものです。