internal PropertyManagerPageCustomControl(int id, object tag, IPropertyManagerPageWindowFromHandle wndFromHandler, SwPropertyManagerPageHandler handler, IXCustomControl control) : base(wndFromHandler, id, tag, handler) { m_Handler.CustomControlCreated += OnCustomControlCreated; m_Control = control; m_Control.DataContextChanged += OnDataContextChanged; }
private void OnPageOpening() { if (m_CurrentControl != null) { m_CurrentControl.DataContextChanged -= OnDataContextChanged; } m_CurrentControl = m_ControlFact.Invoke(); m_CurrentControl.DataContextChanged += OnDataContextChanged; }
private void OnPageOpening() { if (m_CurrentControl != null) { m_CurrentControl.ValueChanged -= OnDataContextChanged; } m_CurrentControl = m_Creator.CreateControl(m_CtrlType, out _); m_CurrentControl.ValueChanged += OnDataContextChanged; }
private void OnDataContextChanged(IXCustomControl ctrl, object newVal) { ValueChanged?.Invoke(this, newVal); }