Silverlight中的依赖属性与路由事件详解
依赖属性基础
在Silverlight开发中,依赖属性是一个重要的概念。下面是一个定义 Margin 属性的示例代码:
public Thickness Margin
{
get
{
return (Thickness)GetValue(MarginProperty);
}
set
{
SetValue(MarginProperty, value);
}
}
在创建属性包装器时,应仅包含对 SetValue() 和 GetValue() 的调用,不要添加额外的代码来验证值或引发事件。因为Silverlight的其他功能可能会绕过属性包装器,直接调用 SetValue() 和 GetValue() 方法。例如,Silverlight解析器读取XAML标记并初始化用户界面时就是如此。
设置依赖属性就像设置其他.NET属性一样,例如:
myElement.Margin = new Thickness(5);
依赖属性遵循严格的优先级规则来确定其当前值。即使没有直接设置依赖属性,它可能已经有一个值,这个值可能是通过绑定、样式应用的,或者是通过元素树继承而来的。一旦直接设置了值,它将覆盖其他影响。
超级会员免费看
订阅专栏 解锁全文
54

被折叠的 条评论
为什么被折叠?



