Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 装订不';无法在定义几何体中更新_C#_Wpf_Data Binding_Dependency Properties - Fatal编程技术网

C# 装订不';无法在定义几何体中更新

C# 装订不';无法在定义几何体中更新,c#,wpf,data-binding,dependency-properties,C#,Wpf,Data Binding,Dependency Properties,我有两个DPs,我在一个DefiningGeometryget中更新: protected override Geometry DefiningGeometry { get { StartSc = sc.Transform(Start); EndSc = sc.Transform(End); //Start and End are also dependencies properties. ... } }

我有两个DPs,我在一个
DefiningGeometry
get中更新:

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中的赋值是否对属性没有影响。有人看到任何明显的错误吗


注意:我的变量名与从派生类中隐藏DPs的变量名相同,删除了隐藏上述代码的功能,但下面的答案无论如何都有效

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


正如我所说的,避免使用getter,很难判断它们何时以及多久被调用一次。

明显的错误是,您首先在getter中设置了内容。@H.B.这不会更新DPs吗?还是设计错误?通常您不应该在getter中设置值。我在隐藏DPs的派生类中有相同的var名称,所以它们从来没有被设置过,一旦我删除了这些变量,上面的代码就起作用了。不管怎样,你的答案都有效。非常感谢。