WP 8.1 Silverlight:如何更新一行(坐标更改)

时间:2015-10-06 11:53:12

标签: c# xaml silverlight windows-phone-8.1

我正在开发一个OCR项目,其中一部分是查找对象的轮廓。为了调试它,我使用<Line /> Xaml元素在手机屏幕上输出线条(以表示轮廓)。我每次找到不同的轮廓时都会尝试更新Line。这些线条在第一帧&#34;帧上显示出良好的效果。但后来不再动了。 (我改变的是他们的X1,Y1和X2,Y2属性)。 对于Line1元素:

元素的XAML:

<Line x:Name="Line1"
      Stroke="Yellow" />

更改坐标的C#:

Line1.X1 = some_new_value;
Line1.Y1 = some_new_value2;
Line1.X2 = some_new_value3;
Line1.Y2 = some_new_value4;

这是我试图更新该行的C#:

Line1.InvalidateArrange();
Line1.InvalidateMeasure();

(分开和一起,但它没有改变任何东西)

这样做的好方法是什么?或许我不应该使用<Line />并且有更好的方法来做到这一点,在这种情况下它是什么?

1 个答案:

答案 0 :(得分:1)

您可以尝试通过ViewModel进行绑定,也可以为控件或页面本身调用UpdateLayout。

this.UpdateLayout();

或者

Line1.UpdateLayout();