将TextBlock行作为单独的字符串WPF获取

时间:2015-04-23 09:11:56

标签: c# wpf textblock textwrapping

有没有办法在文本换行后将TextBlock行作为单独的字符串?例如,如果我有一个像这样定义的TextBlock:

TextBlock myTextBlock = new TextBlock();
myTextBlock.TextWrapping = TextWrapping.Wrap;
myTextBlock.Text = veryLongString;

是否可以为TextBlock中显示的每一行获取单独的字符串,这是由TextWrapping.Wrap创建的?

1 个答案:

答案 0 :(得分:0)

TextBlock具有名为Inline的属性,您可以使用它并逐个访问字符串,

            StringBuilder s = new StringBuilder();
            foreach (var line in txtsample.Inlines)
            {
                if (line is LineBreak)
                    s.AppendLine();
                else if (line is Run)
                    s.Append(((Run)line).Text);
            }
            var text = s.ToString();
           }