一个绑定中有 2 个属性?
我可以在一次投标中合并 2 个元素吗?
<Canvas>
<Ellipse Fill="Black" x:Name="dot1" Width="16" Height="16" Canvas.Left="124" Canvas.Top="133"/>
<Ellipse Fill="Black" x:Name="dot2" Width="16" Height="16" Canvas.Left="221" Canvas.Top="40"/>
<Line Stroke="Black" x:Name="line1"
X1="{Binding ElementName=dot1, Path=(Canvas.Left)}"
Y1="{Binding ElementName=dot1, Path=(Canvas.Top)}"
X2="{Binding ElementName=dot2, Path=(Canvas.Left)}"
Y2="{Binding ElementName=dot2, Path=(Canvas.Top)}"
/>
</Canvas>
我不仅需要将线起点和终点绑定到点 Left 和 Right,还需要添加 (Left + Width / 2< /code>
) 和 (
顶部 + 高度 / 2
)(中心)。
这可能吗?
Can I combine 2 elements in one biding?
<Canvas>
<Ellipse Fill="Black" x:Name="dot1" Width="16" Height="16" Canvas.Left="124" Canvas.Top="133"/>
<Ellipse Fill="Black" x:Name="dot2" Width="16" Height="16" Canvas.Left="221" Canvas.Top="40"/>
<Line Stroke="Black" x:Name="line1"
X1="{Binding ElementName=dot1, Path=(Canvas.Left)}"
Y1="{Binding ElementName=dot1, Path=(Canvas.Top)}"
X2="{Binding ElementName=dot2, Path=(Canvas.Left)}"
Y2="{Binding ElementName=dot2, Path=(Canvas.Top)}"
/>
</Canvas>
I need not only to bind the Line Start and End Points to the dots Left and Right, but the addition of (Left + Width / 2
) and (Top + Height / 2
) (centers).
Is that possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,使用
MultiBinding
并在IMultiValueConverter
。编辑:
类似这样的事情,只有X1使用多重绑定,其余的保持不变。
Yes, use a
MultiBinding
and implement the formula in aIMultiValueConverter
.Edit:
Something like this where only X1 uses the MultiBindingand the rest are unchanged.
您可以使用 MultiBinding。
有几个关于此的示例和教程 - 例如 this 和这似乎告诉您需要了解什么。
You can bind to multiple properties using a MultiBinding.
There are several examples and tutorials on this out there - e.g. this and this seems to tell you what you need to know.