Как выполнить привязку к SystemColors в Silverlight?

#silverlight #systemcolors

#silverlight #systemcolors

Вопрос:

Я не уверен, какая технология будет лучшей. Я установил ссылки на системные цвета в App.xaml.cs.

  App.Current.Resources.Add("ActiveBorderColor ", SystemColors.ActiveBorderColor);
  

и привязать его таким образом:

 <TextBlock Text="TextBlock" Foreground="{StaticResource ActiveBorderColor}" />
  

Это работает, но я получаю сообщение об ошибке, что ресурс ‘ActiveBorderColor’ не может быть разрешен. Это не идеальное решение. Мне интересно, как правильно это сделать. Любые идеи высоко ценятся. Спасибо.

Ответ №1:

Я думаю, что вы хотите сделать, это определить статический вспомогательный класс. Затем вы можете получить SystemColors через XAML, обратившись к нему. Мы сделали это в проекте, и это хорошо работает. Вот краткий пример:

http://forums.silverlight.net/p/120976/289606.aspx

Имейте в виду, что версия SystemColors класса Silverlight не отображает все SystemColors! Вам будет не хватать нескольких по сравнению с тем, что вы получаете в WPF.

(извините, что потребовалось так много времени, чтобы понять, что мой код не был вставлен. вместо этого вставьте ссылку)