【问题标题】:Can i add a string including baselinealignments programmatically to a textblock?我可以以编程方式将包含基线对齐的字符串添加到文本块吗?
【发布时间】:2017-08-24 15:21:10
【问题描述】:

我正在使用 VS2015 和 WPF 开发具有动态表单的 WPF 应用程序。 在我的 WPF 窗口上,我有一些文本块,我想在运行时以编程方式动态添加一个文本(真的是文本吗?),例如每个示例“51x4 + 4”。 当我尝试在运行时在文本属性中设置字符串时,我只能看到给定的字符串。

但是当我将它添加到 XAML 中文本块的内容中时,我可以在运行时看到第一个“4”是下标的。 这里是硬编码的例子:

<TextBlock Name="textBlock1" Height="50">
        5x<Run BaselineAlignment="Subscript">4</Run> + 4
</TextBlock>

提前致谢!

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    您将Run 元素添加到TextBlockInlines 属性:

    txt.Inlines.Add(new Run("5x"));
    txt.Inlines.Add(new Run("4") { BaselineAlignment = BaselineAlignment.Superscript });
    txt.Inlines.Add(new Run(" + 4"));
    

    【讨论】:

    • 再次非常感谢mm8。我试过了,效果很好。因为我在自定义控件中使用文本块,所以我必须找出如何访问自定义控件的某些部分。这个网站给了我一个很好的例子,我希望我现在可以在我的自定义控件中实现它:paulstovell.com/blog/wpf-part-names
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多