Доступ к статическим полям в XAML

Как можно ссылаться на статические свойства класса в xaml? Другими словами, я хочу сделать что-то вроде этого:

Class BaseThingy {
  public static readonly Style BaseStyle;
  ...
}
<ResoureDictionary ...>
  <Style BasedOn="BaseThingy.Style" TargetType="BaseThingy" />
</ResourceDictionary>

Каков синтаксис для этого в BasedOn? Я предполагал, что в какой-то степени это будет связано с использованием StaticResource, но у меня это не сработало.


person MojoFilter    schedule 28.08.2008    source источник


Ответы (1)


Используйте расширение разметки x: Static

<ResoureDictionary ...
  xmlns:local="clr-namespace:Namespace.Where.Your.BaseThingy.Class.Is.Defined"
>
  <Style BasedOn="{x:Static local:BaseThingy.BaseStyle}" TargetType="BaseThingy" />
</ResourceDictionary>
person aku    schedule 28.08.2008
comment
У меня создалось впечатление, что {x:Static ...} не работает в Silverlight. - person Drew Noakes; 09.09.2011
comment
Определил ли Namespace.Where.Your.BaseThingy.Class.Is пространство имен класса? - person Lance; 11.01.2013