对于WP8应用程序我想将多边形点的Y值绑定到属性。但是,当我在绑定行
处收到错误消息“XamlParseException”时,似乎不可能这是Xaml代码:
<Polygon Grid.Row="0" Fill="#66323232">
<Polygon.Points>
<Point X="0" Y="0"/>
<Point X="0" Y="{Binding HauteurPopUp}"/>
<Point X="1" Y="{Binding HauteurPopUp}"/>
<Point X="1" Y="0"/>
<Point X="0" Y="0"/>
</Polygon.Points>
</Polygon>
这是属性
public Int32 HauteurPopUp
{
get
{
return 300;
}
}
有什么想法吗?
提前谢谢
答案 0 :(得分:0)
as I get the error message "XamlParseException"
这不是消息,这是 Type 的异常。
消息可能是Y
不是DependencyProperty,因此您无法绑定它。这种绑定永远不会奏效。
即使绑定是可能的,一旦你更新Y的值,就没有更改通知,所以Polygon
将不知道它的任何点都有改变。
您需要做的是绑定到Polygon.Points
,其中 类型为PointCollection的DependencyProperty。不幸的是,PointCollection
没有实现任何可观察的接口,所以你不能只改变一个实例;每当一个点发生变化时,您必须手动或通过设置绑定到PointCollection
的属性来创建新的Polygon
并更新Polygon.Points
。
我不会为你做代码,但算法就像这样
PointCollection
,用它应包含的Point
的初始平板填充它,并将Polygon.Points
设置为等于此集合(直接或通过绑定)< / LI>
Point
(???)PointCollection
,填写(您可以重复使用)Points
,并在需要时应用更新,并将Polygon.Points
设置为相等对此实例