0

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

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

我试图通过对每一行使用多个来做到这一点,但错误来了,你不能在边框内有ribbonbutton。

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

我试过了,但没有任何效果。我是 WPF 的新手。

4

2 回答 2

3

它旨在用于调试目的,但可以帮助您

<Grid ShowGridLines="True"
于 2015-04-14T10:27:13.163 回答
1

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

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

<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>

您可以通过在循环中创建网格轻松地在代码中复制它。您可能想研究模板以获得更好的结果,但您必须更具体地说明您要完成的工作,而不是您要如何完成某事。

于 2012-05-31T16:44:14.650 回答