WPF - 根据使用的语言更改控件的文本字体大小

时间:2017-03-01 08:30:00

标签: c# wpf mvvm localization

我有一个C#桌面应用程序,GUI在WPF中。 我有各种各样的控件,例如:按钮,带有文本的单选按钮,以指定的字体大小。一切看起来都很棒。 但是,当我将我的应用程序的语言更改为其他内容时(我在我的应用程序上有本地化),例如:法语,德语,意大利语...文本被删除,因为它太长了。 我想将控件的字体大小更改为自动适应特定当前语言的文本长度。对于所有语言,默认情况下不仅要将字体更改为足够小。 有没有办法在WPF中 ? 谢谢!!!

1 个答案:

答案 0 :(得分:1)

如果你坚持设置按钮的Width,一个选项就是将Button简单地包裹在ViewBox中:

<Viewbox Width = "100" >
    <Button  Content="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA">
    </Button>
</Viewbox>

但是,您可能需要考虑在ContentPresenter中重新模板并包装ViewBox

<Button Width = "100" Content="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA">
    <Button.Template>
        <ControlTemplate TargetType="Button">
            <Viewbox x:Name="ViewBoxInternal">
                <ContentPresenter />
            </Viewbox>
        </ControlTemplate>
    </Button.Template>
</Button>

您可以使用its Style添加其他动画/效果。