我在看從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