我有一个类继承帆布具有以下依赖属性更新依赖属性当子属性已更新
public class StorageCanvas : Canvas
{
public readonly static DependencyProperty StorageProperty = DependencyProperty.Register(
"Storage",
typeof(Polygon),
typeof(StorageCanvas));
public Polygon Storage
{
get { return (Polygon) GetValue(StorageProperty); }
set { SetValue(StorageProperty, value); }
}
}
我可以以某种方式使依赖属性“更新”的时候,Storage
多边形Points
已经改变/更新,而不是要求多边形替换为新的实例?
你是什么意思的更新?重绘?重新评估?重新布局?谁在更改存储。每次更新财产时盲目更新并不明智。但是您可以使用Invalidate方法为自己触发,如InvalidateVisual。你也可以改变属性的元数据来自动调用Invalidate函数,如果它们被改变了,这对你的存储不起作用,因为它通过调用setter来工作。 – dowhilefor
我想,你可以使用依赖属性'Callbacks'和'Validation'。有关更多信息,请参见[msdn](http://msdn.microsoft.com/zh-cn/library/ms745795.aspx)。 –
@dowhilefor无论多边形的“点数”发生变化,我都希望在画布上重绘多边形。 –