ControlTemplate TextBlock样式

时间:2017-02-06 22:17:09

标签: wpf xaml templates

当我有TextBlock时。在页面中运行Text =“(”运行文本= {Binding IncomeLoss}运行Text =“)”它看起来好看, 但是当我在ControlTemplate中有相同的东西,我应用于派生自Control的类时,每个字符后面都有额外的空格,如“(100)”。

我读到ControlTemplate是样式继承的障碍,但是我如何猜测哪个样式参数是缺少的那个通常由页面上的Textblock继承的参数?

1 个答案:

答案 0 :(得分:1)

确保您已将所有Run元素放在ControlTemplate的同一行中。

这之间的输出存在差异:

<TextBlock><Run Text = "(" /><Run Text="{Binding IncomeLoss}"/><Run Text=")"/></TextBlock>

......而且这个:

<TextBlock>
    <Run Text = "(" />
    <Run Text="{Binding IncomeLoss}"/>
    <Run Text=")"/>
</TextBlock>

如果这不起作用,您应该提供一个最小,完整且可验证的问题示例:https://stackoverflow.com/help/mcve