首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Silverlight XAML中绑定到SystemColors

在Silverlight XAML中绑定到SystemColors
EN

Stack Overflow用户
提问于 2010-12-09 22:10:36
回答 1查看 830关注 0票数 2

我在WPF XAML中有以下代码,并希望将其转换为Silverlight 4:

代码语言:javascript
复制
<Setter
    Property="Background"
    Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
<Setter>

不幸的是,Silverlight不支持x:Static

有谁知道如何在没有代码隐藏的情况下正确地移植它,只支持XAML?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-09 22:22:26

因为你不能像那样访问静态属性,所以你必须定义自己的“包装器”类来包装静态属性,如下所示:

代码语言:javascript
复制
public class StaticMemberAccess
{
      public ResourceKey WindowBrushKey { return SystemColors.WindowBrushKey; }
      //define other wrapper propeties here, to access static member of .Net or your classes
}

然后在XAML中执行此操作

代码语言:javascript
复制
<UserControl.Resources>
   <local:StaticMemberAccess x:Key="SMA"/>
</UserControl.Resources>

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

希望,这给了你一些想法。:-)

另请参阅以下内容:

Retrieving value from static extension XAML

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4399104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档