代码之家  ›  专栏  ›  技术社区  ›  serhio

事件+DependencyProperty是否正确?

  •  0
  • serhio  · 技术社区  · 14 年前
        // Property
        IsSelectedProperty = DependencyProperty.Register("IsSelected", typeof(bool), typeof(MyControl),new UIPropertyMetadata(false, 
            new PropertyChangedCallback(OnIsSelectedChanged)));
    
        // Event
        public event RoutedEventHandler SelectedChanged
        {
            add { AddHandler(SelectedChangedEvent, value); }
            remove { RemoveHandler(SelectedChangedEvent, value); }
        }
    
        // How Do I Raise the Event ???
        static void OnIsSelectedChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
        {
            var s = (MyControl)source;
    
            // ???? 
            s.OnSelectedChanged(source, EventArgs.Empty);
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Muad'Dib    14 年前

    如果你想提高 RoutedEvent 只要打个电话 this.Raise(...);

    如果要调用静态方法,请按如下方式调用:

    ((MyControl)s).Raise( new RoutedEventArg( MyControl.MyEvent ) );