2009-12-19 120 views
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"/> 

編譯正常,但出現這種情況:

找不到的DependencyProperty或的PropertyInfo名爲財產 'PreviewArtistLinkClicked'。

回答

0

PreviewArtistLinkClickedEvent的OwnerType,它是超鏈接在你的情況,據我從你的代碼獲得時許,OwnerType在這種情況下應該是TrackList 所以你的代碼看起來就像這樣:

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

希望這有助於!

+0

謝謝!就是這樣。 – ErikTJ 2009-12-20 09:03:01