是/否WPF确认消息框用于其他文化

时间:2012-01-27 18:12:02

标签: .net wpf internationalization

如何为其他文化调整WPF确认消息框按钮的文本是/否?

有可能吗?

实际上我需要表明:Si / No

3 个答案:

答案 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

enter image description here

我使用了this answerMarc中的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>