3

在 Silverlight 中,如何拉伸 Line 的宽度以填充作为子元素的 StackPanel 的宽度?更喜欢 XAML 解决方案,而不是代码隐藏。这是我在 WPF 中的操作方法:

<Line X1="0" 
      X2="{Binding Path=ActualWidth, ElementName=HolePatternStackPanel}" 
      Stroke="Gray" 
      StrokeThickness="1" />

但这在 Silverlight 中不起作用。

4

3 回答 3

7
<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 表示从左上角到右下角的对角线,或者将其反转为从左下角到右上角。

时髦新鲜。

于 2009-06-25T22:33:57.173 回答
2

用户 sladapter 在 Silverlight.net 论坛上回答了以下问题:

当前 Silverlight 不支持元素绑定。

你必须使用 Line 对象吗?如果你只想画一条线,你可以使用 Rectangle (2 px height) ,然后你可以设置 Horizo​​ntalAlignment="Stretch" 让它自动拉伸。

它非常适合我的需要。

于 2009-03-06T18:36:28.883 回答
1

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

于 2010-07-16T16:10:32.907 回答