Windows phone 7 如何绑定多边形点的Y值
对于WP8应用程序,我希望将多边形点的Y值绑定到属性。但这似乎是不可能的,因为我在绑定行得到了错误消息“XamlParseException” 以下是Xaml代码:Windows phone 7 如何绑定多边形点的Y值,windows-phone-7,silverlight-4.0,windows-phone-8,Windows Phone 7,Silverlight 4.0,Windows Phone 8,对于WP8应用程序,我希望将多边形点的Y值绑定到属性。但这似乎是不可能的,因为我在绑定行得到了错误消息“XamlParseException” 以下是Xaml代码: <Polygon Grid.Row="0" Fill="#66323232"> <Polygon.Points> <Point X="0" Y="0"/> <Point X="0"
<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>
有什么想法吗
当我收到错误消息“XamlParseException”时,请提前感谢您 这不是消息,这是异常类型 消息可能是
Y
不是DependencyProperty,因此无法绑定到它。这种装订永远不会起作用
即使绑定是可能的,一旦您更新了Y的值,也不会有任何更改通知,因此多边形
不会知道其任何点已更改
您需要做的是绑定到Polygon.Points
,这是类型的DependencyProperty。不幸的是,PointCollection
没有实现任何可观察的接口,因此不能只更改一个实例;每次更改一个点时,您必须创建新的点集合
,并手动或通过设置绑定到Polygon.Points的属性来更新多边形
我不会为您编写代码,但算法是这样的
加载时,创建一个点集合
,用它应该包含的点的初始列表填充它,并将多边形点
设置为与此集合相等(直接或通过绑定)
等待更改集合中的任何单个点(?)
创建一个新的点集合
,在其中填充(您可以重复使用相同的)点
,并在需要时应用更新,然后将多边形点
设置为与此实例相等
转至步骤2
public Int32 HauteurPopUp
{
get
{
return 300;
}
}