绑定不';无法在DefiningGeometry中更新
本文关键字:DefiningGeometry 更新 绑定 | 更新日期: 2023-09-27 18:22:23
我在DefiningGeometry
get:中更新了两个DP
protected override Geometry DefiningGeometry
{
get
{
StartSc = sc.Transform(Start);
EndSc = sc.Transform(End);
//Start and End are also dependencies properties.
...
}
}
我绑定到StartSc和EndSc,但目标永远不会更新,它总是保持默认值0。开始和结束更改,所以这不是问题所在,我想知道DefiningGeometry
get中的赋值是否对属性没有影响。有人看到明显的错误吗?
注意:我有相同的变量名,这些变量名将DP从派生类中隐藏起来,删除了隐藏。上面的代码起了作用,但下面的答案也起作用。
如果绑定到DP并且您在控件的代码中,则希望使用SetCurrentValue
(而不是使用SetValue
的CLR包装器(StartSc
&EndSc
)),否则您将用具体值覆盖现有绑定。
此外,正如我所说,避免在getter中做事,很难判断他们何时以及多久被打一次电话。