Adding a line to a textblock programmatically

前端 未结 2 1871
南笙
南笙 2021-01-19 18:03

I know how to add a control to the canvas/grid/layout- simply by calling canvas.Childern.Add(). However, when I want to embed something inside a textblock, I ca

相关标签:
2条回答
  • 2021-01-19 18:37

    I Believe if you have multiple lines you must use the Inlines property which is a collection that contains a list of inline elements. You can't directly add text to it, you must add it to an Inline object - such as a Run.

    0 讨论(0)
  • 2021-01-19 18:39

    You have to use inlines property (as stated before) so to reproduce your xaml it is enough to do the following (where LayoutRoot is the name of your parent control):

            var t = new TextBlock();
            t.Inlines.Add(new Line { X1 = 0, Y1 = 0, X2 = 100, Y2 = 0, Stroke = new SolidColorBrush(Colors.Black), StrokeThickness = 4.0 });
            t.Inlines.Add("Hello there!");
            t.Inlines.Add(new Line { X1 = 0, Y1 = 0, X2 = 100, Y2 = 0, Stroke =  new SolidColorBrush(Colors.Black),StrokeThickness = 4.0});
            LayoutRoot.Children.Add(t);
    
    0 讨论(0)
提交回复
热议问题