注意,是DependencyProperty 附加属性,而不是绑定属性
首先看一个假设,
在不修改一个类的前提下,如何扩展一个类的成员(继承也不可以)
这在传统的OO设计中是无法完成的,但在NET3.0(C#3.0,VB.NET9.0)中提供了扩展方法开实现这一功能
看下例:
场景:我经常要用得到数字除2的结果,如何方便的实现
class Program
{
static void Main(string[] args)
{
double v1 = 123;
double p1 = v1.zzzzz();
System.Console.WriteLine(p1);
//--
double p2=(1234567890.123).zzzzz();
System.Console.WriteLine(p2);
}
}
static class myExtension
{
public static double zzzzz(this double d)
{
return d/2 ;
}
}
这就是扩展方法,在不修改的结构的情况下,为[ double ]添加了[zzzzz]这个方法
linq 用的就是这种方式
方法可以这样做,那属性哪?
升级一下需求,我想一个对象在一个环境中自动多出某几个属性,在另外一个环境中又自动多出另外几 个属性
如何做,
先看一下Silverlight
场景:提供一个容器,容器分两排,放入容器内的件意控件都可设置附加属性[myTag]的属性,[myTag]属 性设为[a]的在左边,设为[b]的在右边
时间: 2025-01-21 11:05:17