WEB开发网
开发学院图形图像Flash 快速浏览Silverlight3 Beta: SystemColor(系统颜色... 阅读

快速浏览Silverlight3 Beta: SystemColor(系统颜色)

 2009-05-07 12:05:57 来源:WEB开发网   
核心提示: 除了不能实际运行,其它看起来还都不错 :-) 问题在于我要在绑定一个 Brush值,快速浏览Silverlight3 Beta: SystemColor(系统颜色)(4),但在Silverlight中你不能绑定这个Brushes或 Colors值, 你只能将这些绑定应用到从Framewo

除了不能实际运行,其它看起来还都不错 :-) 问题在于我要在绑定一个 Brush值。但在Silverlight中你不能绑定这个Brushes或 Colors值, 你只能将这些绑定应用到从FrameworkElement派生出来的元素上。

在这个论坛中有相关的主题,如果别人有不同的做法请通知我,以便我能够及时了解到.

那该怎么办呢?

好吧, 我们可以数据绑定方式来为Styles设置Brush和Color,但却不能数据绑定setters。也许我能在运行时创建一个完整的style 并添加这些属性(到元素中);

public class MySystemStyles
  {
    public Style ButtonStyle
    {
      get
      {
        if (buttonStyle == null)
        {
          buttonStyle = MakeStyle(typeof(Button));
        }
        return (buttonStyle);
      }
    }
    static Style MakeStyle(Type t)
    {
      Style style = new Style(t);

      foreach (var item in propertiesValues)
      {
        style.Setters.Add(new Setter(item.Key, item.Value));
      }
      return (style);
    }
    static Dictionary<DependencyProperty, object> propertiesValues =
      new Dictionary<DependencyProperty, object>()
      {
        { Control.ForegroundProperty, new SolidColorBrush(SystemColors.ControlTextColor) },
        { Control.BackgroundProperty, new SolidColorBrush(SystemColors.ControlColor) }
      };

    Style buttonStyle;
  }

上一页  1 2 3 4 5 6  下一页

Tags:快速 浏览 Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接