如何在WPF中为网格添加边框?

Jas*_*n94 112 c# 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 ...
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 200

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

<Border BorderBrush="Black" BorderThickness="2">
    <Grid>
       <!-- Grid contents here -->
    </Grid>
</Border>
Run Code Online (Sandbox Code Playgroud)

您看到边框完全填满您的控件的原因是,默认情况下,它的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>
Run Code Online (Sandbox Code Playgroud)

这应该可以让你得到你想要的东西(尽管你可能希望在所有4个方面都留有余量,而不仅仅是2 ...)

  • @Jason94:我更新了我的回答,告诉你如何得到我认为你追求的东西...... (3认同)
  • @Sabuncu你会注意到我原来没有那个 - 我正在让OP的编辑"工作" (2认同)

Mua*_*Dib 8

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

<Border>
    <Grid>
    </Grid>
</Border>
Run Code Online (Sandbox Code Playgroud)

没有做你想做的事情,那么你将不得不为你想要的网格(或边框)制作自己的控制模板.