Windows Phone, динамичный стиль - PullRequest
1 голос
/ 05 апреля 2011

Я работаю над приложением, в котором я хочу, чтобы цвет нескольких границ менялся в зависимости от выбора темы пользователем.Границы частично помещаются в xaml, но также динамически генерируются в приложении в зависимости от выбора, который делает пользователь.Я также использую несколько элементов управления LoopingSelector (из набора инструментов Silverlight), которые, в свою очередь, также генерируют границы.

Итак, мне было интересно, как мне решить эту проблему.Сначала я пытался применить стиль к границам, а затем изменить стиль в зависимости от выбора темы, но, очевидно, стили доступны только для чтения во время выполнения.Я также подумал, что мог бы перебирать и изменять цвет границ, но кажется, что LoopingSelector не раскрывает это свойство своих границ или, вообще-то, вообще не раскрывает элементы управления.

Так что я должениспользовать привязку каким-либо образом, но, поскольку я все еще довольно новичок в Silverlight, я не совсем уверен, как это сделать.

Заранее спасибо.

1 Ответ

0 голосов
/ 05 апреля 2011

Если у вас есть именованный ресурс, скажем CustomBorderBrush , который вы используете в своем XAML для деталей, находящихся в XAML, то вы можете получить доступ к этой кисти из ресурсов приложения:

Border newBorder = new Border();
newBorder.BorderBrush = (Brush)Application.Current.Resources["CustomBorderBrush"];

Если у вас дополнительно есть проблема с LoopingSelector, то это отдельная проблема :) Похоже, вам нужно применить свой собственный стиль к LoopingSelector, чтобы вы могли указать нужное значение кисти.

...