C# 如何根据本地化字符串调整WPF中的标签、按钮的大小

C# 如何根据本地化字符串调整WPF中的标签、按钮的大小,c#,.net,wpf,windows,localization,C#,.net,Wpf,Windows,Localization,我的应用程序支持本地化,因为它支持许多国家/地区。当我们在项目中编码时,我们通常使用英语编码和测试,当涉及本地化时,我们面临许多问题。例如,假设在UI中有三个按钮,分别是“Email”,“Internal-Email”,“External-Email”,我们将所有这些按钮放置在一个网格中,并将其完美定位,对齐,在UI中看起来很好,但是葡萄牙语和其他本地化字符串中的相同文本字符串不适合UI控件的宽度和高度。用户界面看起来很难看,而且在调整单个控件的高度和宽度时,由于不同的本地化设置而面临许多问题。

我的应用程序支持本地化,因为它支持许多国家/地区。当我们在项目中编码时,我们通常使用英语编码和测试,当涉及本地化时,我们面临许多问题。例如,假设在UI中有三个按钮,分别是
“Email”
“Internal-Email”
“External-Email”
,我们将所有这些按钮放置在一个网格中,并将其完美定位,对齐,在UI中看起来很好,但是葡萄牙语和其他本地化字符串中的相同文本字符串不适合UI控件的宽度和高度。用户界面看起来很难看,而且在调整单个控件的高度和宽度时,由于不同的本地化设置而面临许多问题。 在法语中,电子邮件是电子邮件,如果我们有一个固定大小的按钮,它就很难适应

我想知道是否有任何方法可以根据本地化字符串文本长度在运行时调整控件的高度和宽度?我注意到MSDN中的
自动布局和控件的链接
,但它无助于如何实现这一点

在这方面谁能帮忙

谢谢
Deb

有两件事你必须考虑。第一种方法不是专门设置显示文本的控件的宽度(TextBlock标签),第二种方法是不在放置文本的网格列上设置固定宽度(使用Auto或*)。

由于使用网格,因此可以将水平/垂直对齐设置为“Strech”,并指定边距和填充。这应该允许更大的灵活性

此外,作为法国人,“email”或“mail”比“adresseéelectronique”更常见。
如果您想要一个正式的法语单词,“Courrel”也是一个常见的较短选项。

最简单的方法是不在
TextBlock
元素(或其容器控件)上设置任何
Width
值。。。这样,它们可以根据需要自由生长或收缩。