1

私のアプリケーションは次のようになります。

1 Window
  2 Frame
    3 Page  
      4 Control

コントロール (4) には、フレーム (2) で処理するカスタム ルーティング イベントがあります。

行事:

    public static readonly RoutedEvent PreviewArtistLinkClickedEvent = EventManager.RegisterRoutedEvent(
         "PreviewArtistLinkClicked", RoutingStrategy.Tunnel, typeof(RoutedEventHandler), typeof(Hyperlink));


    public event RoutedEventHandler PreviewAlbumLinkClicked {
        add { AddHandler(PreviewAlbumLinkClickedEvent, value); }
        remove { RemoveHandler(PreviewAlbumLinkClickedEvent, value); }
    }

    void RaisePreviewArtistLinkClickedEvent(object sender, RoutedEventArgs e) {
        RoutedEventArgs eventArgs = new RoutedEventArgs(Tracklist.PreviewArtistLinkClickedEvent);
        RaiseEvent(eventArgs);
    }

そしてフレーム XAML:

            <Frame Name="frameContent" Grid.Column="1" Background="#373737"  NavigationUIVisibility="Hidden"
               gui:Tracklist.PreviewArtistLinkClicked="frameContent_PreviewArtistLinkClicked"/>

正常にコンパイルされますが、次のことが起こります。

「PreviewArtistLinkClicked」という名前のプロパティの DependencyProperty または PropertyInfo が見つかりません。

4

1 に答える 1

0

の OwnerType を参照してPreviewArtistLinkClickedEventください。あなたの場合はハイパーリンクです。コードから取得している限り、この場合の OwnerType は次のようになるはずですTrackList 。コードは次のようになります。

public static readonly RoutedEvent PreviewArtistLinkClickedEvent = EventManager.RegisterRoutedEvent(
     "PreviewArtistLinkClicked", RoutingStrategy.Tunnel, typeof(RoutedEventHandler), typeof(TrackList));

お役に立てれば!!

于 2009-12-20T05:28:02.203 に答える