Silverlight拉伸子元素以填充父容器?
-
03-07-2019 - |
题
在 Silverlight 中,如何拉伸 Line 的宽度以填充其作为子元素的 StackPanel 的宽度?更喜欢 XAML 解决方案,而不是代码隐藏。以下是我在 WPF 中的操作方法:
<Line X1="0"
X2="{Binding Path=ActualWidth, ElementName=HolePatternStackPanel}"
Stroke="Gray"
StrokeThickness="1" />
但这在 Silverlight 中不起作用。
解决方案
<Line X1="0" Y1="0" X2="0" Y2="1" Stretch="Fill" Stroke="#FF000000" />
适用于WPF和Silverlight。
如果X为0,则为垂直线。如果Y是0,则它是水平的。对于从左上角到右下角的对角线,使用X1 = 0 Y1 = 0 X2 = 1 Y2 = 1,或者从左下角到右上角将其反转。
时髦新鲜。
其他提示
用户 sladapter 在 Silverlight.net 论坛上回答了这个问题,如下:
当前的 Silverlight 不支持元素绑定。
您必须使用 Line 对象吗?如果你只想画一条线,你可以使用 Rectangle (2 px height) ,然后你可以设置 HorizontalAlignment="Stretch" 它会自动拉伸。
它非常适合我的需求。
Elementlight在Silverlight 4中确实存在。但是仍然没有很好的方法来拉伸项目以填充其父容器。你真正想要的是适应Visual Tree中的父容器,它考虑了模板的应用。
不隶属于 StackOverflow