Во-первых, вам нужно создать новый производный класс RoutedEventArgs, содержащий ваше новое свойство.Что-то вроде:
public class ModelClickEventArgs : RoutedEventArgs
{
public string MyString { get; set; }
public ModelClickEventArgs() : base() { }
public ModelClickEventArgs(RoutedEvent routedEvent) : base(routedEvent) { }
public ModelClickEventArgs(RoutedEvent routedEvent, object source) : base(routedEvent, source) { }
}
Затем вам нужно будет создать делегата, который будет использовать ваши новые аргументы событий:
public delegate void ModelClickEventHandler(object sender, ModelClickEventArgs e);
После этого вам придется внести изменения в ваш кодвыше, чтобы он использовал эти новые объекты:
public static readonly RoutedEvent ModelClickEvent = EventManager.RegisterRoutedEvent(
"ModelClick", RoutingStrategy.Bubble, typeof(ModelClickEventHandler), typeof(Window));
// Provide CLR accessors for the event
public event ModelClickEventHandler FadeIn
{
add { AddHandler(ModelClickEvent, value); }
remove { RemoveHandler(ModelClickEvent, value); }
}
// This method raises the Tap event
void RaiseTapEvent()
{
ModelClickEventArgs newEventArgs = new ModelClickEventArgs();
newEventArgs.MyString = "some string";
RaiseEvent(newEventArgs);
}