Установка стиля с помощью Binding в XAML - PullRequest
5 голосов
/ 07 февраля 2011

Мне нужно установить Style данного элемента управления в соответствии с некоторым значением конфигурации в Silverlight.Я хотел бы иметь возможность выбрать Style для элемента управления из двух доступных стилей (статических ресурсов).Я пытался сделать что-то вроде:

<TextBox Style="{Binding ABC}"/>

где

public string ABC
{
    get {return "{StaticResource MyStyle}";}
}

К сожалению, это не работает.

У вас есть идеи?

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

Приветствия

1 Ответ

6 голосов
/ 07 февраля 2011

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

У вас есть два варианта хранения стиля, и это определитсобственность выглядит так.Либо поместите стиль в ресурсы страниц, либо в ресурсы приложения, и тогда ваше свойство ABC будет выглядеть следующим образом:

// using page resources
public Style ABC
{
    get { return (Style) this.Resources["_myStyle"]; }
}

// using application resources
public Style ABC
{
    get { return (Style) App.Current.Resources["_myStyle"]; }
}

Где _myStyle - это значение стиля для его x:Key свойство в словаре ресурсов.

...