<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#中实例化Border并为其分配属性,但是如何将每个Border对象与Grid中的正确单元格相关联? (在这里命名为'LayoutGrid')。换句话说,我如何在C#中做什么元素在上面的XAML代码中做了什么?
答案 0 :(得分: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 :(得分:1)
您需要添加画笔:
Border brdr = new Border()
{
BorderThickness = new Thickness()
{
Bottom = 1,
Left = 1,
Right = 1,
Top = 1
},
BorderBrush = new SolidColorBrush(Colors.Black)
};
然后上面列出的代码将起作用。