übergabe-Event Argumente der original-handler Weitergeleitet Veranstaltung in wpf

Folgende code zeigt ein normales Ereignis und ein routed event. Hier habe ich das gleiche Ereignis-name für die Erklärung Zwecke, aber in Wirklichkeit bin ich nur mit den routed event.

//Normal Event
public event SelectedHandler Selected;
public delegate void SelectedHandler(Object Sender, RoutedEventArgs e);

//Routed Event
public static readonly RoutedEvent SelectedEvent =
EventManager.RegisterRoutedEvent(
"Selected", RoutingStrategy.Bubble,
typeof(RoutedEventHandler),
typeof(MyUserControl));

//add remove handlers
public event RoutedEventHandler Selected
{
    add { AddHandler(SelectedEvent, value); }
    remove { RemoveHandler(SelectedEvent, value); }
}

Ich Hebe diese Ereignisse von ein paar event-Handler wie folgt

private void lstvMyView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    //Normal Event Raise
    if (Selected != null)
        Selected(this, e);

    //Routed Event Raise
    RoutedEventArgs args = new RoutedEventArgs(SelectedEvent);
    RaiseEvent(args);
}

private void lstvMyView_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
    //Normal Event Raise
    if (Selected != null)
        Selected(this, e);

    //Routed Event Raise
    RoutedEventArgs args = new RoutedEventArgs(SelectedEvent);
    RaiseEvent(args);
}

Wenn ich die Handhabung der normalen Ereignis ich bin in der Lage, senden Sie die Argumente der beiden Handler für das Ereignis selbst, sondern in Routed Event args wird eine neue Instanz. Ich will übergeben Sie die Argumente der beiden Handler, die auf die weitergeleitete Ereignis. Ist es möglich, dies zu erreichen? Wenn ja, dann wie?

InformationsquelleAutor samar | 2010-12-21

Schreibe einen Kommentar