我确实刚刚创建了我的第一个Windows Phone Runtime应用程序,而且我正在从拥有编写Windows Phone Silverlight应用程序的经验转变。我不知道要考虑很多差异,一个是将资源字符串绑定到UI中的属性。我已经开始使用Hub
控件,因为它看起来像是一个很棒的模板。我的第一步是创建一个新的HubSection
并创建Header
文本。通常为了良好的实践和节省时间,我总是添加我的资源字符串,因为我在UI中创建项目用于翻译目的。在此,我无法获取HubSection
标头来显示我的资源字符串。
注意,我是Windows Runtime的新手,目前正在CHannel9和Microsoft Virtual Academy中进行教程。
另请注意,在此模板中我没有更改任何内容,因此我在XAML中的页面DataContext
仍然是
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
目前我所拥有的内容如下
<HubSection x:Uid="HubPage.BuiltInAppsHub">
<HubSection.HeaderTemplate>
<DataTemplate>
<TextBlock x:Uid="HubPage.BuiltInAppsHub.Header"/>
</DataTemplate>
</HubSection.HeaderTemplate>
</HubSection>
在我的Resources.resw文件中,我的键值是HubPage.BuiltInAppsHub.Header.Text
,我的值只是built in apps
。所以这里有几个问题。一,如何链接TextBlock
以显示此字符串值?另外,有没有比创建HeaderTemplate
更直接的方法,我是否可以在Header
的{{1}}属性中执行此操作,类似于我在{{{}}中执行此操作的方式1}} Silverlight版本中HubSection
的属性?任何信息,背景,建议等都将不胜感激。
编辑以下内容在运行模拟器时显示resw资源字符串,但在设计器中不显示文本所在的位置
Header
答案 0 :(得分:0)
您始终使用要显示文本的属性XAML元素。也无需在数据模板中引用该元素。你想在这里做的是(也删除点):
<HubSection x:Uid="HubPageBuiltInAppsHub">
<HubSection.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"/>
</DataTemplate>
</HubSection.HeaderTemplate>
</HubSection>
这个密钥进入你的resw文件:
HubPageBuiltInAppsHub.Header
还有关于该主题的MSDN文章:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh965323.aspx