[英]Dynamic binding between control in WP7 XAML
我试图在 WP7 XAML 中画一条简单的线,如下所示。 使用 static 坐标值可以正常工作。
<Line Stroke="White"
X1="1" Y1="1"
X2="200" Y2="1" />
我需要的是根据匹配的属性值(例如其Id或Name )绑定相对于同一 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.