Search code examples
c#silverlighteventsxamlwindows-phone-7

Custom events in XAML on my UserControl on Windows Phone 7


I'm making a UserControl in Windows Phone 7 and i want that when the user clicks on an Ok button the other XAMLs which are using my UserControl can be able to add an event related to that.

Using an example it's like this:

I have my MainPage.xaml and i'm using my UserControl there, so it's something like:

<local:MyUserControl Canvas.Top="0" x:Name="lSelector" Width="480" Height="800" Value="0000"/>

Value is just a DependencyProperty that i created. What i want is to be able to do something like this:

<local:MyUserControl Canvas.Top="0" x:Name="lSelector" Width="480" Height="800" Value="0000" ValueChanged="lSelector_ValueChanged"/>

how can i do that?


Solution

  • Add event to your UserControl like code below and it will appears like normal event

        public partial class UserControl1 : UserControl
        {
           public delegate void ValueChangedEventHandler(object sender, EventArgs e);
    
           public event ValueChangedEventHandler ValueChanged;
    
           public UserControl1()
           {
               // Required to initialize variables
               InitializeComponent();
           }
    
           private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
           {
              if (ValueChanged != null)
              {
                  ValueChanged(this, EventArgs.Empty);
              }
           }
       }
    

    Custom event

    Then just subscribe to it

       private void UserControl1_ValueChanged(object sender, System.EventArgs e)
        {
            // TODO: Add event handler implementation here.
        }