У меня такое ощущение, что вы пытаетесь имитировать поведение EventSetter. Если я прав, просто взгляните на этот простой пример:
<Style TargetType="{x:Type Button}" x:Key="SomeID">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand"></Setter>
<Setter Property="FontWeight" Value="Bold"></Setter>
</Trigger>
</Style.Triggers>
<EventSetter Event="MouseUp" Handler="DoSomething_Click"></EventSetter>
</Style>
Этот код назначает ваше пользовательское событие регулярному действию некоторого текстового блока непосредственно из XAML (вам не нужно загрязнять свой код с помощью доступа к свойствам элементов управления).
Я надеюсь, что это полезно, но если нет, пожалуйста, напишите мне.
Edit:
Извините, что не совсем ясно (это был просто быстро вставленный фрагмент кода). Пожалуйста, посмотрите на полный пример:
Стили для ваших следующих / предыдущих кнопок:
<Style TargetType="{x:Type Button}" x:Key="PreviousButtonstyle">
<EventSetter Event="Click" Handler="OnMovedPrevious"></EventSetter>
</Style>
<Style TargetType="{x:Type Button}" x:Key="NextButtonstyle">
<EventSetter Event="Click" Handler="OnMovedNext"></EventSetter>
</Style>
Код:
public event EventHandler MovedPrevious;
public event EventHandler MovedNext;
protected void OnMovedPrevious(object sender, RoutedEventArgs e)
{
if (MovedPrevious != null)
{
MovedPrevious(this, e);
}
}
protected void OnMovedNext(object sender, RoutedEventArgs e)
{
if (MovedNext != null)
{
MovedNext(this, e);
}
}
С этого момента вы можете получить доступ к OnMovedNext и OnMovedPrevious непосредственно из консоли управления вашего элемента управления / чего угодно, как только что написал Энтони.
Извините, если мой предыдущий ответ сбивал с толку, но это должно было быть просто вдохновением, что делать :)
Edit:
Я не заметил, что это касается только Silverlight, за который я прошу прощения :) Но он отлично работает для WPF, если вы хотите попробовать.