我正在以编程方式将Run元素添加到TextBlock控件。我希望这些内联元素具有相等的间距。
TextBlock txtblck = new TextBlock();
txtblck.Inlines.Add(new Run() { Text = "a"});
txtblck.Inlines.Add(new Run() { Text = "b"});
txtblck.Inlines.Add(new Run() { Text = "c"});
现在它显示为“abc”。但我想显示为“a b c”。可能吗?请帮帮我。
当我们在XAML中添加内联元素时,会在字符之间添加空格。但是我只在运行时获取文本块的文本。所以我无法在XAML中添加内联元素。
提前致谢。
答案 0 :(得分:0)
解释在XAML中添加运行时在字符之间添加空格的原因here。
要在代码中添加空格,您可以添加带空格的额外Run
元素:
txtblck.Inlines.Add(new Run() { Text = "a"});
txtblck.Inlines.Add(new Run() { Text = " "});
txtblck.Inlines.Add(new Run() { Text = "b"});
txtblck.Inlines.Add(new Run() { Text = " "});
txtblck.Inlines.Add(new Run() { Text = "c"});
或直接在文本中添加空格:
txtblck.Inlines.Add(new Run() { Text = "a" + " "});
txtblck.Inlines.Add(new Run() { Text = "b" + " "});
txtblck.Inlines.Add(new Run() { Text = "c" });
答案 1 :(得分:0)
如果需要,您应该添加空格:
TextBlock txtblck = new TextBlock();
txtblck.Inlines.Add(new Run() { Text = "a " });
txtblck.Inlines.Add(new Run() { Text = "b " });
txtblck.Inlines.Add(new Run() { Text = "c" });
无需创建任何其他Run
元素。并且Run
元素之间不会自动添加空格。