我在看从Charles Petzold一些代码,他使用了PropertyChangedCallback
在以前的.NET提供此功能
public static readonly DependencyProperty CenterProperty =
EllipseGeometry.CenterProperty.AddOwner(
typeof(CenteredEllipse),
new FrameworkPropertyMetadata(new Point(0, 0),
EllipsePropertyChanged));
以下语法,如果你做这种方式,你需要把它不起作用财产改变回调在新的new PropertyChangedCallback(EllipsePropertyChanged)
。他还直接编辑变量:
void EllipsePropertyChanged(DependencyPropertyChangedEventArgs args)
{
elipGeo.Center = Center;
elipGeo.RadiusX = RadiusX;
elipGeo.RadiusY = RadiusY;
InvalidateMeasure();
}
它应该是这样的:
static void EllipsePropertyChnaged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
EllipseGoemetry ellipseGeo = (EllipseGoemetry)obj;
args.newValue ...
}
是否有人知道这是怎么回事?
我试过了,它没有工作,它不承认名称和任何类的档案。我不得不将obj投入到类中,然后修改变量。 – mihajlv 2012-01-15 19:16:00