2017-01-06 12 views
0

グリッドのボーダーを、その上にしかないように設定したい(これは私がやったことです)、それはトップの中心にしかありませんグリッドのボーダーを短くする

Grid NewGrid = new Grid() 
{ 
     Height = 90, 
     Padding = new Thickness { Left = 0, Right = 0, Top = 0, Bottom = 0 }, 
     BorderThickness = new Thickness { Left = 0, Top = 1, Right = 0, Bottom = 0 }, 
     BorderBrush = new SolidColorBrush(Colors.Black), 
}; 

私が何をしたいの画像を達成するために:私はそれが左端から30pxについての始まりと
コードは、私は()の.csファイルにグリッドを生成するために使用します)端からも30px終了を意味します: Image

ここで、灰色は境界線ではなく、黒色は目に見える立体的な境界線です。

答えて

0

Grid.BorderBrushGrid.BorderThicknessでこれを行うことはできません。境界線は常に要素の角まで広がっています。私は最善のアプローチは、グリッドには何の境界線を設定しないであろうと思うが、上部のラインをオーバーレイ

<Grid> 
    <Grid.RowDefinitions> 
     <!-- The first row is for the border only --> 
     <RowDefinition Height="Auto"/> 

     <!-- Use additional rows as your layout dictates --> 
     <RowDefinition/> 
     <RowDefinition/> 
    </Grid.RowDefinitions> 

    <!-- The border element in the first row --> 
    <Rectangle Margin="50,0" Fill="Black" Height="2"/> 

    <!-- The main content of the Grid in subsequent rows --> 
    <Button Grid.Row="1" Content="Example 1"/> 
    <Button Grid.Row="2" Content="Example 2"/> 
</Grid> 
+0

あなたの提案に感謝します、これは私が欲しかったものです。 –

0

ちょうどあなたがしたいの国境を達成するために、グリッドの最初の行のRectangleを使用計算された幅のグリッドのような...

Line newLine = new Line(); 
{ 
    line1.X2 = NewGrid.Width -60; 
} 
関連する問題