如何围绕网格边界

时间:2012-05-31 16:22:23

标签: wpf

我需要在网格周围和网格的每一行周围画一个边框?

网格周围很简单。但在每一行中我都有另一个网格,所有内部网格都有多列,所有列都有按钮。 所以我需要在每个列,每个网格和每个按钮周围绘制边框。

我尝试通过对每一行使用多个来做但是错误即将到来,你不能在边框内设置带状按钮。

我是否需要在每个网格的每一列周围使用多个?

我试过但没有任何工作。我是WPF的新手。

2 个答案:

答案 0 :(得分:3)

它用于调试目的,但可能对您有所帮助

<Grid ShowGridLines="True"

答案 1 :(得分:1)

我不确定Ribbon按钮是否可以在Ribbon之外使用。这与你的边境问题无关。您可能只需要使用常规按钮。您可以通过多种方式对其进行模板化以改善视觉效果。

这是一个在网格和单元格周围放置边框的简单示例:

<Window x:Class="TestingWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:properties="clr-namespace:TestingWPF.Properties"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <Style TargetType="{x:Type Border}">
            <Setter Property="BorderThickness" Value="2" />
            <Setter Property="BorderBrush" Value="Red" />
        </Style>
        <Style TargetType="{x:Type Button}">
            <Setter Property="Margin" Value="5" />
            <Setter Property="Content" Value="Test" />
        </Style>
    </Window.Resources>
    <Border BorderBrush="Green" BorderThickness="4" Padding="1">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
                <RowDefinition />
                <RowDefinition />
            </Grid.RowDefinitions>

            <Border Grid.RowSpan="4" Grid.ColumnSpan="4" BorderBrush="#FF00FF51"/>

            <Border Grid.Row="0" Grid.Column="0">
                <Button />
            </Border>
            <Border Grid.Row="0" Grid.Column="1">
                <Button />
            </Border>
            <Border Grid.Row="0" Grid.Column="2">
                <Button />
            </Border>
            <Border Grid.Row="0" Grid.Column="3">
                <Button />
            </Border>

            <Border Grid.Row="1" Grid.Column="0">
                <Button />
            </Border>
            <Border Grid.Row="1" Grid.Column="1">
                <Button />
            </Border>
            <Border Grid.Row="1" Grid.Column="2">
                <Button />
            </Border>
            <Border Grid.Row="1" Grid.Column="3">
                <Button />
            </Border>

            <Border Grid.Row="2" Grid.Column="0">
                <Button />
            </Border>
            <Border Grid.Row="2" Grid.Column="1">
                <Button />
            </Border>
            <Border Grid.Row="2" Grid.Column="2">
                <Button />
            </Border>
            <Border Grid.Row="2" Grid.Column="3">
                <Button />
            </Border>

            <Border Grid.Row="3" Grid.Column="0">
                <Button />
            </Border>
            <Border Grid.Row="3" Grid.Column="1">
                <Button />
            </Border>
            <Border Grid.Row="3" Grid.Column="2">
                <Button />
            </Border>
            <Border Grid.Row="3" Grid.Column="3">
                <Button />
            </Border>
        </Grid>
    </Border>
</Window>

您可以通过在循环中创建网格轻松地在代码中复制它。您可能希望查看模板以获得更好的结果,但是您必须更加具体地了解您正在尝试完成的内容而不是您正在尝试的方式做点什么。