【发布时间】:2019-03-15 05:38:50
【问题描述】:
我正在尝试为 wpf 绑定上标,例如:
c#:
public string PolynomialAsString = "10x^2 + 3x - 1";
xaml:
<TextBlock Grid.Row="1" Text="{Binding PolynomialAsString}" />
在 wpf 应用程序中显示为:10x² + 3x - 1。
我发现的唯一方法是在线硬编码xaml 中的上级位置,如下所示:
<TextBlock>
<Run>Normal Text</Run>
<Run Typography.Variants="Superscript">Superscript Text</Run>
<Run Typography.Variants="Subscript">Subscript Text</Run>
</TextBlock>
但我想动态执行此操作,因为我不知道上标的位置。
非常感谢任何帮助
【问题讨论】:
-
将 ^ 替换为 如此处所述stackoverflow.com/a/41223500/3201354
-
@Jignesh 我试过了,但是当它绑定到
TextBlock时它似乎不起作用,而且 unicode 模式只对 ^2 和 ^3 是一致的 -
尝试以下方法之一:stackoverflow.com/a/9071856/1136211
-
您始终可以派生自己的 SuperScriptTextBlock,它会在绑定更新时自行解析和添加内联。我已经为突出显示文本做了类似的事情。虽然很痛。不敢相信没有更好的方法。