2011-01-15 12 views

risposta

18

Questo codice funziona per me:

public class DemoEventArgs : RoutedEventArgs 
{ 
    public DemoEventArgs(RoutedEvent routedEvent, object source) : base(routedEvent, source) 
    {} 
} 

public partial class TestControl : UserControl 
{ 
    public static readonly RoutedEvent DemoEvent = 
     EventManager.RegisterRoutedEvent(
      "Demo", 
      RoutingStrategy.Bubble, 
      typeof(RoutedEventHandler), 
      typeof(TestControl)); 

    public event RoutedEventHandler Demo 
    { 
     add { AddHandler(DemoEvent, value); } 
     remove { RemoveHandler(DemoEvent, value); } 
    } 

    public TestControl() 
    { 
     InitializeComponent(); 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     RaiseEvent(new DemoEventArgs(TestControl.DemoEvent, sender)); 
    } 
} 

Con questo codice è possibile registrarsi per l'evento come questo:

<Grid> 
    <StackPanel local:TestControl.Demo="TestControl_Demo" > 
     <local:TestControl /> 
    </StackPanel> 
</Grid> 
+0

ringrazio molto, cercherà presso l'ufficio Lunedi. – user310291

+0

Collegamento alla documentazione relativa a MSDN: https://msdn.microsoft.com/en-us/library/ms752288(v=vs.110).aspx –

Problemi correlati