快速浏览Silverlight3 Beta: SystemColor(系统颜色)
2009-05-07 12:05:57 来源:WEB开发网除了不能实际运行,其它看起来还都不错 :-) 问题在于我要在绑定一个 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;
}
Tags:快速 浏览 Silverlight
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接