2011-09-23 61 views

回答

0

你可以试试这个让身高1的矩形,垂直将其调整至底部

<Rectangle Height="1" Stroke="Red" StrokeDashArray="1 2" VerticalAlignment="Bottom" /> 
+0

这是一个黑客攻击。设置BorderBrush =“0,0,0,1” – Sinaesthetic

4

你可能想要一个Border,而不是在这种情况下的矩形。

+0

我可以用Border制作点边框效果吗?我没有看到像StrokeDashArray属性的东西。 –

+0

@LuisAguilar你应该能够将BorderBrush属性设置为任何有效的WPF画笔。所以,是的,你可以。 MSDN链接:http://msdn.microsoft.com/en-us/library/aa970904(v=vs.110).aspx – BrainSlugs83

0

如果你只想在底部一条线,你可以只是其中含有透明边框(在树中的某个点)一条线。

+0

为什么透明?你可以将BorderThickness设置为'.BorderThickness = new Thickness(0d,0d,0d,1d)'。 – BrainSlugs83

+0

因为一条线比边界更具多面性。 – CodeWarrior

+0

即使这是真的 - 那么为什么边境呢?不只是说一个网格或其他元素?边界是否买了什么?还是仅仅是一种偏好? - 另外:以何种方式更多样化? (除了能够对角线等,因为这在这里没有什么关系 - 但我的意思是,它有笔画和笔画厚度 - 这是笔刷和双笔 - 我在这里没有看到更多的多功能性。我错过了?) – BrainSlugs83

18
<Border BorderThickness="0,0,0,1"> 
    <!-- Content --> 
</Border> 

可以为Border控制的任何部分设置不同的厚度。

6

既然你想有一个虚线,使用Line对象并将其设置为您的控件的底部

<Line Stroke="Red" Height="2" Stretch="Fill" X2="1" 
      StrokeDashArray="1 2" VerticalAlignment="Bottom" /> 

如果您不需要虚线,我建议一个BorderBorderThickness属性设置为0,0,0,1

+0

该行没有,我想要的,因为它也延伸了DashArray。 :(我想,一个自定义的装饰将是最好的。 – Matt

0

你不应该使用:

  • 一个矩形的Shape(几何)。
  • 边框不支持虚线

相反,我会创建一个自定义Decorator(边境有装饰)。您可以自定义它的方式,并且它包含一个Child DependencyProperty,因此您可以将其包装在您的内容中。