XAML边框与矩形的区别

4

我希望能够获得这样的窗口enter image description here

我应该如何获得它?在XAML中,Border和Rectangle之间让我感到困惑。

Border是一个容器控件,所以使用起来非常简单,那么矩形的作用是什么,因为它不能包含任何控件。

请帮忙解答。

4个回答

4

既不是 Border 也不是 Rectangle 可以实现这个功能,你可能需要一个类似于 Path 的东西。


请您能否指导我一些示例? - user831174
@MSingh:在 MSDN 上有示例 - H.B.
那我只需要创建所需的形状,将窗口样式设置为无,然后将窗口背景设置为透明,就可以得到我想要的效果了吗? - user831174
@MSingh 我会说是的。请查看这个链接以获取更多指导。 - dowhilefor
@MSingh:大致如此(您还需要AllowsTransparency),但一般情况下,我不建议像那样“过度设计”窗口,因为用户通常不太喜欢它。 - H.B.

3

我很乐意回答你的最后一个问题。

矩形有什么用处,既然它不能包含任何控件。

是的,它不能包含任何控件,但你总可以将其绘制在背景中。

<Grid>
    <Rectangle/>
    <TextBlock/>
</Grid>

用户可能不会看到任何差异。为什么需要两个不同的控件呢?我不确定,但我的猜测是边框是一个快捷方式,可以在控件周围绘制一个矩形,背后可能有更多原因,但这就是我看到的。此外,矩形是一种形状,有一个矩形并排列着椭圆、线等是有意义的。

2
您可以按照以下方式绘制多边形:

Polygon

<Polygon
    Points="100 50, 100 150,250 150, 250 75, 225 50"
    Stroke="Black" 
    StrokeThickness="2">
    <Polygon.Fill>
       <SolidColorBrush Color="White"/>
    </Polygon.Fill>
</Polygon>

在这里,您可以找到其他有趣的示例。 点击此处

0

这条路径就像你的形状一样,如果你使用Expression Blend,你可以将其绘制到编辑器中。

<Path Data="M20.5,0.5 L153.81876,0.5 194.5,41.181242 194.5,103.5 C194.5,114.54569 185.5457,123.5 174.5,123.5 L20.5,123.5 C9.4543047,123.5 0.5,114.54569 0.5,103.5 L0.5,20.500004 C0.5,9.4543067 9.4543047,0.50000197 20.5,0.5 z" Fill="#FFF4F4F5" Stretch="Fill" Stroke="Black" HorizontalAlignment="Left" Height="124" VerticalAlignment="Top" Width="195"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接