Я работаю над приложением Silverlight 4. У меня есть символ «ТМ», встроенный в строку ресурса для названия моего приложения, так что где бы он ни появлялся в тексте, «ТМ» находится рядом с ним. Ну, мой клиент говорит, что ему это нравится и хочет сохранить его, но говорит, что "ТМ" слишком велика. Мне интересно, смогу ли я это исправить, не нарушив мою систему ресурсов. Я не использую Resx от Microsoft, потому что он всегда вызывал случайные исключения и сбивал с толку ошибки компилятора для меня, даже когда он использовался прямо из коробки (то есть с шаблоном бизнес-приложения 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>
Как видите, один ресурс может ссылаться на другой. А «ТМ» встроен прямо в ресурс Default.ApplicationName
.