/// <summary> /// Constructor. /// </summary> /// <param name="dcp"> /// Embedded object's character position. /// </param> /// <param name="uiElementIsland"> /// UIElementIsland associated with embedded object. /// </param> /// <param name="para"> /// TextParagraph associated with embedded object. /// </param> internal InlineObject(int dcp, UIElementIsland uiElementIsland, TextParagraph para) : base(dcp) { _para = para; _uiElementIsland = uiElementIsland; _uiElementIsland.DesiredSizeChanged += new DesiredSizeChangedEventHandler(_para.OnUIElementDesiredSizeChanged); }
/// <summary> /// Ensures the _uiElementIsland variable is up to date /// </summary> private void UpdateUIElementIsland() { UIElement childElement = this.Child; if(_uiElementIsland == null || _uiElementIsland.Root != childElement) { if(_uiElementIsland != null) { _uiElementIsland.Dispose(); _uiElementIsland = null; } if(childElement != null) { _uiElementIsland = new UIElementIsland(childElement); } } }
/// <summary> /// Create UIElementIsland representing embedded Element Layout island within content world. /// </summary> private void EnsureUIElementIsland() { if (_uiElementIsland == null) { _uiElementIsland = new UIElementIsland(((BlockUIContainer)Element).Child); _uiElementIsland.DesiredSizeChanged += new DesiredSizeChangedEventHandler(OnUIElementDesiredSizeChanged); } }