如何为其他文化调整WPF确认消息框按钮的文本是/否?
有可能吗?
实际上我需要表明:Si / No
答案 0 :(得分:2)
您无法本地化消息框按钮。他们遵循操作系统的语言。可能有一些Win32 API黑客,但我没有经验。
答案 1 :(得分:1)
您应该修改应用程序线程的区域性,然后将按钮翻译出来。
例如:
var culture = new System.Globalization.CultureInfo("es-ES"); //Spanish region
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
MessageBox.Show("Example!",
"Example!",
MessageBoxButton.YesNo,
MessageBoxImage.Question);
上面的代码将产生下一个MessageBox
我使用了this answer中Marc中的SOes作为来源
答案 2 :(得分:0)
您可以为按钮创建样式,并使用转换器进行从英语到西班牙语的翻译。在下面的示例中,titleTranslator转换器用于翻译此按钮的文本。
<Style x:Key="myStyle" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border CornerRadius="6 6 0 0" VerticalAlignment="Center" Margin="5">
<TextBlock Text="{Binding Converter={StaticResource titleTranslator}}" FontSize="44" FontWeight="Bold" Foreground="{Binding Foreground, Converter={StaticResource brushConverter}}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>