我如何把我的网格边框在WPF?

我如何把我的网格在C#/ WPF的边框?

这是我想要的,但是把整个事情放在边界上,而不是放在我的应用程序中的网格控件。

<Grid> <Border BorderBrush="Black" BorderThickness="2"> <Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" /> </Border> ... and so on ... 

如果你只是想要一个外部边框,最简单的方法是把它放在一个Border控件中:

 <Border BorderBrush="Black" BorderThickness="2"> <Grid> <!-- Grid contents here --> </Grid> </Border> 

编辑:

您看到边框完全填充您的控件的原因是,默认情况下,它的Horizo​​ntalAlignment和VerticalAlignment设置为Stretch。 尝试以下操作:

 <Grid> <Border HorizontalAlignment="Left" VerticalAlignment="Top" BorderBrush="Black" BorderThickness="2"> <Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" /> </Border> </Grid> 

这应该得到你以后的东西(尽pipe你可能想在所有的四面都有一个保证金,而不仅仅是2 …)

如果将您的网格嵌套在边框控件中

 <Border> <Grid> </Grid> </Border> 

没有做你想做的,那么你将不得不做自己的控制模板的网格(或边界),做你想做的事情。

我认为你的问题是应该在边框标签中指定边距而不是在网格中。

 <Grid x:Name="outerGrid"> <Grid x:Name="innerGrid"> <Border BorderBrush="#FF179AC8" BorderThickness="2" /> <other stuff></other stuff> <other stuff></other stuff> </Grid> </Grid> 

这段代码将“innerGrid”