public void CreateMeasurementText(UIElement parent)
        {
            // For TextBox
            if (associatedTextBox != null)
            {
                INTERNAL_VisualTreeManager.DetachVisualChildIfNotNull(associatedTextBox, parent);
            }

            associatedTextBox = new TextBox();
            INTERNAL_VisualTreeManager.AttachVisualChildIfNotAlreadyAttached(associatedTextBox, parent);
            textBoxReference            = associatedTextBox.INTERNAL_OuterDomElement;
            textBoxDivStyle             = INTERNAL_HtmlDomManager.GetDomElementStyleForModification(textBoxReference);
            textBoxDivStyle.position    = "absolute";
            textBoxDivStyle.visibility  = "hidden";
            textBoxDivStyle.height      = "";
            textBoxDivStyle.width       = "";
            textBoxDivStyle.top         = "0px";
            textBoxDivStyle.borderWidth = "1";

            measureTextBoxElementID = ((INTERNAL_HtmlDomElementReference)textBoxReference).UniqueIdentifier;

            // For TextBlock
            if (associatedTextBlock != null)
            {
                INTERNAL_VisualTreeManager.DetachVisualChildIfNotNull(associatedTextBlock, parent);
            }

            associatedTextBlock = new TextBlock();
            INTERNAL_VisualTreeManager.AttachVisualChildIfNotAlreadyAttached(associatedTextBlock, parent);
            textBlockReference            = associatedTextBlock.INTERNAL_OuterDomElement;
            textBlockDivStyle             = INTERNAL_HtmlDomManager.GetDomElementStyleForModification(textBlockReference);
            textBlockDivStyle.position    = "absolute";
            textBlockDivStyle.visibility  = "hidden";
            textBlockDivStyle.height      = "";
            textBlockDivStyle.width       = "";
            textBlockDivStyle.top         = "100px";
            textBlockDivStyle.borderWidth = "1";
            textBlockDivStyle.whiteSpace  = "pre";
            associatedTextBlock.Text      = "A";
            measureTextBlockElementID     = ((INTERNAL_HtmlDomElementReference)textBlockReference).UniqueIdentifier;
            CSHTML5.Interop.ExecuteJavaScriptAsync(@"document.measureTextBlockElement=$0", textBlockReference);
        }
Exemple #2
0
 private static void UpdateTextAlignment(INTERNAL_HtmlDomStyleReference style, TextAlignment alignment)