在 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) ,然后你可以设置 Horizo​​ntalAlignment="Stretch" 它会自动拉伸。

它非常适合我的需求。

Elementlight在Silverlight 4中确实存在。但是仍然没有很好的方法来拉伸项目以填充其父容器。你真正想要的是适应Visual Tree中的父容器,它考虑了模板的应用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top