Silverlight伸展子元素填充父容器?

时间:2009-03-06 14:13:37

标签: silverlight layout containers parent stretch

在Silverlight中,如何拉伸Line的宽度以填充其中是子元素的StackPanel的宽度?喜欢XAML解决方案,而不是代码隐藏。 以下是我在WPF中的表现方式:

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

但这在Silverlight中不起作用。

3 个答案:

答案 0 :(得分: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,或者从左下角到右上角将其反转。

时髦新鲜。

答案 1 :(得分:2)

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

当前的Silverlight不支持元素绑定。

你必须使用Line对象吗?如果你只想绘制一条直线,你可以使用矩形(2像素高),然后你可以设置Horizo​​ntalAlignment =“拉伸”它,它会自动拉伸。

它可以满足我的需求。

答案 2 :(得分:1)

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