2010-09-12 8 views
36

У меня довольно простой вопрос относительно WPF Grid Control.Нижние границы на WPF-сетке

Я хотел бы установить нижнюю границу на каждой строке в сетке, но можно найти только как поставить все 4 границы вокруг каждой ячейки .. мой код довольно прост

<Grid Height="174" HorizontalAlignment="Left" Margin="23,289,0,0" Name="grid2" VerticalAlignment="Top" Width="730"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="45" /> 
     <RowDefinition Height="25" /> 
     <RowDefinition Height="25" /> 
     <RowDefinition Height="25" /> 
     <RowDefinition Height="25" /> 
     <RowDefinition Height="25" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="255" /> 
     <ColumnDefinition Width="95" /> 
     <ColumnDefinition Width="95" /> 
     <ColumnDefinition Width="95" /> 
     <ColumnDefinition Width="95" /> 
     <ColumnDefinition Width="95" /> 
    </Grid.ColumnDefinitions> 
</Grid> 

Для другой сетки Я использую это, все четыре границы, я использую

<Border Grid.Column="0" Grid.Row="0" BorderBrush="#61738B" BorderThickness="1" /> 

PS Содержимое сетки - это некоторые ярлыки, текстовые поля и т. Д., Если это вообще имеет значение.

Цените любые указатели.

M

ответ

91

На Border управления Вы можете сделать BorderThickness="0 0 0 1" только иметь нижнюю границу показано на рисунке.

Верхняя и нижняя граница толщина 5, левая и правая толщина граница 0

BorderThickness="0 5"

верхней и нижней границы толщина 0, левая и правая толщина граница 5

BorderThickness="5 0"

Пограничная толщина - Слева: 1, Верх: 2, Справа: 3, Нижняя: 4

BorderThickness="1 2 3 4"

Надеюсь, это поможет!

+0

О, господин, это было так просто? Бесконечно благодарен! Другой быстрый вопрос - есть ли способ, которым я могу установить границу для всей строки, без указания Grid.Column? – Marko

+1

Нет проблем! Насколько я знаю, я не знаю, можете ли вы определить границу Row в RowDefinition. Если вы говорите о том, что ваша граница в определенной строке охватывает несколько столбцов, вы можете использовать Grid.ColumnSpan. Не уверен, что это то, что вы имеете в виду, но надеюсь, что это поможет. – Pwninstein

+0

Спасибо @Pwninstein Grid.ColumnSpan помогает, он помещает границу по каждому столбцу, теперь я просто должен выяснить, как это повторить на каждой строке, не имея 6 разных объявлений :) – Marko

0

Мне посчастливилось положить нижнюю границу на целый ряд, включив пограничный узел с BorderThickness="0 1 0 1", окружающим узел сетки. Например:

Border Style="{StaticResource ItemBorderStyle}" BorderThickness="0 1 0 1" 
      Grid Style="{StaticResource GridItemStyle}"