【发布时间】:2014-07-16 00:13:30
【问题描述】:
有没有办法在 XAML 中绑定 Point 结构坐标?例如,我想创建一个三角形,它的点取决于控件的宽度和高度。
<Polygon>
<Polygon.Points>
<Point X="{Binding ElementName=control, Path=ActualWidth}" Y="{Binding ElementName=control, Path=ActualHeight}"/>
</Polygon.Points>
</Polygon>
错误:
不能在“Point”类型的“X”属性上设置“绑定”。只能在 DependencyObject 的 DependencyProperty 上设置“绑定”。
我不能使用继承,因为 Point 类型是一个结构。我尝试创建 PointCollection 属性绑定,但效果不佳。
【问题讨论】:
-
一个有 2 个点的三角形?
-
不是,但这只是代码示例,会导致错误。但是,我声明了一点。
-
Converters可以在这里为您提供帮助,您仍然可以绑定Polygon的Points属性但是他们可能不会响应更改。 -
我写道我试图绑定 Points 属性。你能发布一个正确绑定和转换点的例子吗?
-
那么三角形应该如何适应控件的正方形边界?如果您可以发布图片来解释相同的内容,我们将不胜感激。