我在Silverlight应用程序中从UserControl访问应用程序资源时遇到问题。这是我的UserControl:
<UserControl x:Class="MyApp.MainControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:basics="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls" >
<basics:TabControl TabStripPlacement="Left">
<basics:TabItem Name="tabHome" Header="Home"></basics:TabItem>
<basics:TabItem Name="tabPatients" Header="{StaticResource My_Patients}"></basics:TabItem>
<basics:TabItem Name="tabOrganization" Header="My Organization"></basics:TabItem>
</basics:TabControl>
</UserControl>
我在将tabPatients选项卡的Header属性设置为静态资源My_Patients的行上出现错误。
这是我的申请文件:
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
x:Class="MyApp.App">
<Application.Resources>
<System:String x:Key="My_Patients">All My Patients</System:String>
</Application.Resources>
</Application>
谁能告诉我出了什么问题?
答案 0 :(得分:0)
根据我的记忆,这是一个已经存在一段时间的错误 - 您可以为字符串属性指定字符串StaticResource
,但不能为内容控件的内容指定字符串TabItem
是Header
)。
我可能错了,但我认为以下解决方法可能会有所帮助:
Header="{Binding Source={StaticResource My_Patients}}"
无论如何,如果您的目标是使应用程序可以进行本地化,我建议您阅读Tim Heuer's blog post on the subject。