Windows phone 7 如何绑定多边形点的Y值

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"

对于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>
有什么想法吗


当我收到错误消息“XamlParseException”时,请提前感谢您

这不是消息,这是异常类型

消息可能是
Y
不是DependencyProperty,因此无法绑定到它。这种装订永远不会起作用

即使绑定是可能的,一旦您更新了Y的值,也不会有任何更改通知,因此
多边形
不会知道其任何点已更改

您需要做的是绑定到
Polygon.Points
,这是类型的DependencyProperty。不幸的是,
PointCollection
没有实现任何可观察的接口,因此不能只更改一个实例;每次更改一个点时,您必须创建新的
点集合
,并手动或通过设置绑定到
Polygon.Points的属性来更新
多边形

我不会为您编写代码,但算法是这样的

  • 加载时,创建一个
    点集合
    ,用它应该包含的
    点的初始列表填充它,并将
    多边形点
    设置为与此集合相等(直接或通过绑定)
  • 等待更改集合中的任何单个
    (?)
  • 创建一个新的
    点集合
    ,在其中填充(您可以重复使用相同的)
    ,并在需要时应用更新,然后将
    多边形点
    设置为与此实例相等
  • 转至步骤2
  •     public Int32 HauteurPopUp
        {
            get
            {
                return 300;
            }
        }