绑定不';无法在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从派生类中隐藏起来,删除了隐藏。上面的代码起了作用,但下面的答案也起作用。

绑定不';无法在DefiningGeometry中更新

如果绑定到DP并且您在控件的代码中,则希望使用SetCurrentValue(而不是使用SetValue的CLR包装器(StartSc&EndSc)),否则您将用具体值覆盖现有绑定。

此外,正如我所说,避免在getter中做事,很难判断他们何时以及多久被打一次电话。

相关文章:
  • 没有找到相关文章