我正在开发Silverlight 4应用程序。我的应用程序名称的资源字符串中嵌入了一个“TM”符号,因此无论文本中出现何处,“TM”都位于其旁边。好吧,我的客户说他喜欢它并希望保留它但是说“TM”太大了。我想知道我是否可以在不破坏资源系统的情况下解决这个问题。我没有使用微软的Resx,因为它总是会导致随机异常和令人困惑的编译错误,即使直接使用(即使用Silverlight业务应用程序模板 - 我先把它拿出来)。我正在使用我自己的专有字符串资源解决方案,它非常简单,并使用附加的依赖项属性从XML存储中注入字符串。
这样的事情:
<TextBox res:Strings.Assignment="Text=HomeView.Title" />
这是XML商店的相关部分:
<Group Name="Default">
<Resource Name="ApplicationName"><![CDATA[MyApp™]]></Resource>
</Group>
<Group Name="HomeView">
<Resource Name="Title"><![CDATA[Welcome to [~ApplicationName]]]></Resource>
</Group>
正如您所看到的,一个资源可以引用另一个资源。并且“TM”直接嵌入Default.ApplicationName
资源中。
答案 0 :(得分:2)
我相信特殊符号的外观是由字体本身定义的,因此如果没有编辑字体,你只需要像RobSiklos那样单独编写一个部分
答案 1 :(得分:0)
这样的事情怎么样:
<TextBox>
<Run res:Strings.Assignment="Text=HomeView.Title" /><Run FontSize="8" Text="(tm)"/>
</TextBox>
答案 2 :(得分:0)
另一个建议:
<RichTextBox res:Strings.Assignment="Xaml=HomeView.Title" />
所以你要设置RichTextBox的Xaml属性。这样你应该能够输入你想要的所有格式,我猜。实际上没有尝试过。