Привязка к SystemColors в Silverlight XAML - PullRequest
2 голосов
/ 09 декабря 2010

У меня следующий код в WPF XAML и я хочу преобразовать его в Silverlight 4:

<Setter
    Property="Background"
    Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
<Setter>

К сожалению, Silverlight не поддерживает x:Static.

Кто-нибудь знает, как правильно портировать его без кода, только для XAML?

1 Ответ

4 голосов
/ 09 декабря 2010

Так как вы не можете получить доступ к таким статическим свойствам, вам нужно определить свой собственный класс «обертки», который будет переносить статические свойства, примерно так:

public class StaticMemberAccess
{
      public ResourceKey WindowBrushKey { return SystemColors.WindowBrushKey; }
      //define other wrapper propeties here, to access static member of .Net or your classes
}

Затем сделайте это в XAML

<UserControl.Resources>
   <local:StaticMemberAccess x:Key="SMA"/>
</UserControl.Resources>

<Setter
    Property="Background"
    Value="{Binding Source={StaticResource SMA}, Path=WindowBrushKey}" />
<Setter>

Надеюсь, это даст вам некоторое представление. : -)

См. Также:

Получение значения из статического расширения XAML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...