我正在使用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 =“”......
有什么方法可以让它发挥作用吗?
谢谢
答案 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}"
/>