Другая версия Python, которая скорее короче (21 символ):
R=lambda s:s==s[::-1]
Один возможное решение - использовать DynamicResource
вместо StaticResource
. Дизайнер Visual Studio 2008 просто отображает элементы управления без какого-либо стиля, как это делает VS2010 beta 1, когда не может разрешить StaticResource
.
Использование DynamicResource
уместно в ситуациях, когда конкретный стиль может измениться во время выполнения, например, при снятии скинов.
Я нашел несколько связанных вопросов, подтверждающих это:
Я также нашел человека, который утверждает, что DynamicResource
следует использовать всякий раз, когда ресурс не является локальным:
Вы можете создать свой собственный класс ResourceDictionary, унаследованный от ResourceDictionary. Затем вы можете сделать так, чтобы во время разработки этот настраиваемый ResourceDictionary загружал некоторые явно определенные стили (то есть те, которые загружаются из приложения во время выполнения), тогда как во время выполнения он вообще ничего не делает. Для этого можно оценить свойство IsInDesignMode.
Допустим, у вас есть такой класс, называемый DesignTimeResourceDictionary, тогда вы просто используете s.th. например
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<Util:DesignTimeResourceDictionary Source="SomeUriToYourResources"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
, чтобы загрузить ваши ресурсы во время разработки и заставить дизайнера работать. Затем во время выполнения вы можете заставить ваш DesignTimeResourceDictionary пропускать загрузку ресурсов и достигать желаемого поведения.
Если вам нужно, вы действительно можете создать для этого копию реальных ресурсов, или вы можете просто создать фиктивный словарь, содержащий все ключи вам нужны, чтобы дизайнер продолжал работать.