2013-05-07 3 views
2

Так что я думал, что я запустил это там и посмотрю, не пропал ли я что-то идиотское.VS2010 - VS2012 ToolWindow XAML Reference VsBrushes

Я разработал небольшой мое использование только VSIX расширение, и в одном из моих toolwindows, я использую код, чтобы установить цвет переднего плана/фон:

Foreground="{DynamicResource {x:Static vsfx:VsBrushes.ToolWindowTextKey}}" 
    Background="{DynamicResource {x:Static vsfx:VsBrushes.ToolboxBackgroundKey}}" 

vsfx: пространство имен ссылаются как:

xmlns:vsfx="clr-namespace:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.10.0" 

Я вижу +10,0 ссылки там, и для меня, что ожидается, как я первоначально сделал это в VS2010. Теперь, когда моя работа заставила меня перейти на VS2012, дизайнер XAML дает мне следующую ошибку для этих двух SynamicResources. Ошибка читается 'The resource {x:Static vsfx:VsBrushes.ToolWindowTextKey} could not be resolved.' и, как и для второго.

Теперь обратите внимание, что проект все еще строит и запускается и может быть загружен в VS2012. Тем не менее, цвета все выключены (стандартно, не соответствуют теме, на которой установлен VS).

Любые мысли о том, что проверить или искать?

Cheers - Mike.

+0

Вы решили проблему? –

+0

Технически, нет. Я пошел вперед и установил все ресурсы в коде, чтобы обойти эту (раздражающую) проблему. Я уверен, что это то, что я сделал, но сообщения/ошибка не дают мне достаточной информации для надежного поиска Google. :( – Coyttl

+0

Я сделал. {DynamicResource VsBrush.ToolWindowText} работает. У вас не будет intellisense на VsBrush, но буквально вы просто используете VsBrush вместо VsBrushes и избавляетесь от суффикса «Key». И поскольку это ресурс сам идентификатор, вам не нужно обертывать его с помощью {x: Static. –

ответ

1

я столкнулся с тем же вопросом, как вы, ребята, делаете, и выяснили последующие факты:

[VsBrushes/VsBrush] В.С. [EnviromentColors]:

  1. VsBrushes и VsBrush в основном то же самое, поддерживаются в VS2010/2012/2013;
  2. EnviornmentColors только в VS2012/2013, не поддерживается в VS2010;
  3. EnvironmentColors все еще envolving, больше цветов будет добавлено для новых тем; VsBrushes/VsBrush относительно статичны.

[VsBrushes] v.s. [VsBrush]:

  1. Хорошая вещь о «VsBrushes» является то, что он проверяет, существует ли конкретное название цвета во время строительства.
  2. Плохая вещь о «VsBrushes» - это то, что должно указывать пространство имен VS и версию сборки в голове файла XAML, что неудобно. (Например, XMLNS: vsfx = "CLR-имен: Microsoft.VisualStudio.Shell; сборка = Microsoft.VisualStudio.Shell.10.0")

Благодаря.

+0

Откуда Вы указали эту информацию? – JustinJDavies

+0

О, мы спросили кого-то, кто работает в команде VS. – RainCast