首页 > 解决方案 > 如何本地化 DataGridTextColumn?

问题描述

在 WPF 中开发我的应用程序时,我使用该代码进行本地化:

<DataGridTextColumn Header="{x:Static p:Resources.DwApplicationId}" Binding="{Binding Id}"/>

现在我尝试将应用程序升级到 WinUI3,并且不允许“x:Static”。另外我必须使用另一种方式(Windows.ApplicationModel.Resources.ResourceLoader)来获取字符串。

我用谷歌搜索了几个小时,但一无所获。也许有人知道如何解决它?

标签: c#xaml.net-5winui-3

解决方案


尝试将 设置Header为本地化TextBlock

<DataGridTextColumn Binding="{Binding Id}">
    <DataGridTextColumn.Header>
        <TextBlock x:Uid="DwApplicationId"/>
    </DataGridTextColumn.Header>
</DataGridTextColumn>

或者以Header编程方式设置属性:

col.Header = ResourceLoader.GetForCurrentView().GetString("DwApplicationId");

推荐阅读