繁体   English   中英

WP7 XAML中控件之间的动态绑定

[英]Dynamic binding between control in WP7 XAML

我试图在 WP7 XAML 中画一条简单的线,如下所示。 使用 static 坐标值可以正常工作。

<Line Stroke="White" 
      X1="1" Y1="1" 
      X2="200" Y2="1" />

我需要的是根据匹配的属性值(例如其IdName )绑定相对于同一 Canvas 上的其他控件的坐标值。 绑定正确的控件后,我需要获取其左侧和/或顶部Canvas 位置。 使用模糊的伪代码,这就是我想要做的......

<Line Stroke="White" 
      X1="{Binding Canvas.Left, Source={Binding <a_control_where_a_property_equals_some_value>}}" Y1="1" 
      X2="200" Y2="1" />

我尝试了许多绑定场景,但都没有成功。 额外的复杂性在于这是 Windows 电话 7 (WP7) 绑定,而不是完整的 XAML。

注意:所有控件都是在运行时添加的,因此它们不是静态定义的。

有什么建议么???

您可以期望的最好的方法是使用ElementName 除此之外,您需要在两个控件都绑定到的某个地方公开一个公共属性。 可能在视图模型中,但这取决于您的设置。

ElementName 示例:

<Canvas>
    <Line x:Name="line1" Stroke="White" X1="1" Y1="1"  X2="200" Y2="1" />
    <Line Stroke="White" X1="{Binding ElementName=line1, Path=X1}" Y1="10"  X2="200" Y2="1" />
</Canvas>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM