1

我正在用 xaml 和 c# 编写一个 Windows 8 商店应用程序,并且正在使用msdn 中概述的方法本地化字符串。

它在应用程序运行时正确显示字符串,但在 Expression Blend 设计时它总是显示一个空字符串。

<TextBlock x:Uid="IDST_LOAD_TITLE" x:Name="pageTitle" Text=""
    Grid.Column="1" IsHitTestVisible="false" 
    Style="{StaticResource PageHeaderTextStyle}"/>

我什至尝试过完全摆脱 Text="" ......

有什么办法可以让它工作吗?

谢谢

4

1 回答 1

0

我是这样解决的:

创建一个类,例如:

public class Strang
{
    public string          IDST_LOAD_TITLE
    { get { return Strings.IDST_LOAD_TITLE; } }

    public string          IDST_SAVE_TITLE
    { get { return Strings.IDST_SAVE_TITLE; } }
    ...

将其添加到您的 app.xaml:

<Application
    x:Class="MyApp.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:myApp="using:MyApp"
    >

    <Application.Resources>
        <ResourceDictionary>
          <ResourceDictionary.MergedDictionaries>
              <ResourceDictionary Source="Common/StandardStyles.xaml"/>
          </ResourceDictionary.MergedDictionaries>

          <!-- Look here! -->
          <myApp:Strang x:Key="Strang" />

      </ResourceDictionary>
    </Application.Resources>
</Application>

然后在您页面的 xaml 代码中,执行以下操作:

        <TextBlock 
            x:Name="m_titleStatic" 
            Text="{Binding IDST_LOAD_TITLE}" 
            DataContext="{StaticResource Strang}"
            />
于 2013-05-10T06:02:26.113 回答