/// <summary> /// 传入根窗体指针,用于关闭时通知控件释放资源 /// 传入子类指针,用于操作子类 /// 例如关闭窗体时关闭CAN,需要调用子类的方法 /// </summary> /// <param name="self"></param> public virtual void InitialControl(Window root, MyUserControlModel self) { m_Root = root; m_MySelf = self; root.Closing += self.ControlClosing; root.SizeChanged += Root_SizeChanged; root.LocationChanged += Root_LocationChanged; }
private static void OnPageVisibilyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { MyUserControlModel p = d as MyUserControlModel; //Get access to the instance of CircularGaugeConrol whose property value changed switch ((Visibility)e.NewValue) { case Visibility.Collapsed: if (p.m_MySelf != null) { p.m_MySelf.OnClosing(); } break; case Visibility.Visible: if (p.m_MySelf != null) { p.m_MySelf.OnVisible(); } break; default: break; } }