C# 如何在DataGridTextColumn上将XAML中的双精度值格式化为德语格式?

C# 如何在DataGridTextColumn上将XAML中的双精度值格式化为德语格式?,c#,wpf,xaml,format,double,C#,Wpf,Xaml,Format,Double,我有这段简单的代码,我想知道如何将它转换为德语格式(#.####,##) //显示### 在这种情况下,请尝试几种选项: A.为整个应用程序全局设置语言文化,它可以解决与当前语言文化相关的一些问题 为App.xaml添加Startup事件,以建立必要的语言区域性。它会影响日期、双值的显示​​, 金额等: XAML <Application x:Class="DataGridTargetUpdateHelp.App" xmlns="http://schemas.mi

我有这段简单的代码,我想知道如何将它转换为德语格式(#.####,##)

//显示###

在这种情况下,请尝试几种选项:

A.为整个应用程序全局设置语言文化,它可以解决与当前语言文化相关的一些问题

App.xaml
添加
Startup
事件,以建立必要的语言区域性。它会影响日期、双值的显示​​, 金额等:

XAML

<Application x:Class="DataGridTargetUpdateHelp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml"
             Startup="Application_Startup">

    <Application.Resources>

    </Application.Resources>
</Application>
B.使用
DataGridTemplateColumn

在这种情况下,您可以将任何
控件设置为在DataGridCell中显示值:

<DataGrid.Columns>
    <DataGridTemplateColumn Header="ID">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Path=ID, StringFormat={}{0:N2}}" xml:lang="de-DE" />
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
</DataGrid.Columns>


@Soner Gönül:是什么让你认为它是一个复制品?关于
标签
中显示值的第一个问题,这里指的是
数据网格
——是两个不同的主题。更广泛地说:或者问题:如何在PASCAL中编程,如何在C++中编程?同一个问题?它是不重复的。安纳托利·尼古拉耶夫告诉我,我必须为此提出一个新问题。@AnatoliyNikolaev你说得对。撤回我的投票。如果我使用解决方案A)我的数据网格值部分超过两位小数。如何将小数点限制为两位?@user3524628:也许您需要使用
StringFormat
。你能举一个输出的例子吗?
public partial class App : Application
{
    private void Application_Startup(object sender, StartupEventArgs e)
    {
        FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement),
            new FrameworkPropertyMetadata(System.Windows.Markup.XmlLanguage.GetLanguage("de-DE"))); // CultureInfo.CurrentCulture.IetfLanguageTag return the current code of language
    }
}
<DataGrid.Columns>
    <DataGridTemplateColumn Header="ID">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Path=ID, StringFormat={}{0:N2}}" xml:lang="de-DE" />
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
</DataGrid.Columns>