Blend不显示本地化字符串

时间:2012-11-26 08:44:07

标签: windows-runtime windows-store-apps

我正在使用xaml和c#编写Windows 8商店应用,并使用the approach outlined in msdn 本地化字符串。

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

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

我甚至试过完全摆脱Text =“”......

有什么方法可以让它发挥作用吗?

谢谢

1 个答案:

答案 0 :(得分: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}"
            />