2014-11-17 36 views
1
<Grid x:Name="LayoutGrid" Visibility="Visible" Background="Transparent" Canvas.Left="20"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="200"/> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="50" /> 
        <RowDefinition Height="Auto" /> 
        <RowDefinition Height="600" /> 
       </Grid.RowDefinitions> 
       <Border Grid.Row="0" Grid.Column="0" BorderBrush="Black" BorderThickness="1" /> 
       <Border Grid.Row="2" Grid.Column="0" BorderBrush="Black" BorderThickness="1" /> 
</Grid> 

在此XAML代碼中,我將一個邊框放置在網格的兩個單元格中。我需要改變設計,並在C#中做同樣的事情。我知道如何在C#中實例化一個邊框併爲其分配屬性,但是如何將每個邊框對象與網格中的正確單元相關聯? (在這裏命名爲'LayoutGrid')。換句話說,我該如何處理C#中元素在上面的XAML代碼中所做的事情?如何以編程方式爲網格的單元格創建邊框

+0

你爲什麼要這麼做?如果它取決於某些條件,則可能希望以樣式或綁定方式創建邊框 – ShayD

回答

2

假設myBorder已經是LayoutGrid

var myBorder = new Border(); 
LayoutGrid.Children.Add(myBorder) 

孩子,你既可以使用Grid靜態方法

Grid.SetColumn(myBorder, 0); 
Grid.SetRow(myBorder, 1); 

或設置DependencyProperty直接

myBorder.SetValue(Grid.ColumnProperty, 0); 
myBorder.SetValue(Grid.RowProperty, 1); 
1

您需要添加一個刷:

Border brdr = new Border() 
{ 
    BorderThickness = new Thickness() 
    { 
     Bottom = 1, 
     Left = 1, 
     Right = 1, 
     Top = 1 
    }, 
    BorderBrush = new SolidColorBrush(Colors.Black) 
}; 

然後上面列出的代碼將工作。

相關問題