I have a data grid. I want to create several borders - not for the entire grid, but for some of the cells.
For example:
Attaching my XAML code.
Thanks in advance for answering.
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="38"></RowDefinition>
<RowDefinition Height="38*"></RowDefinition>
<RowDefinition Height="38*"></RowDefinition>
<RowDefinition Height="37*"></RowDefinition>
<RowDefinition Height="38*"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="37*"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition Width="0.05*"></ColumnDefinition>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition Width="0.05*"></ColumnDefinition>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition Width="0.1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="Select relay:" HorizontalAlignment="Center" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center"></Label>
<Label Content="Select State:" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="2" VerticalAlignment="Bottom"></Label>
<ComboBox x:Name="CBRelayNumber" VerticalAlignment="Center" Grid.Row="0" Grid.Column="2">
<ComboBoxItem Content="ALL Relay" HorizontalAlignment="Center" />
<ComboBoxItem Content="Relay 1" Tag="0" HorizontalAlignment="Center" />
<ComboBoxItem Content="Relay 2" Tag="1"
</ComboBox>
<ComboBox x:Name="CBRelayState" VerticalAlignment="Center" Grid.Row="1" Grid.Column="2">
<ComboBoxItem Content="ON" HorizontalAlignment="Center" />
<ComboBoxItem Content="OFF" HorizontalAlignment="Center" />
</ComboBox>
<Label Content="Select Delay (msec):" HorizontalAlignment="Center" Grid.Row="0" Grid.Column="4" VerticalAlignment="Bottom" Grid.RowSpan="2"></Label>
<TextBox x:Name="tbAddTime" VerticalAlignment="Center" Grid.Column="4" Grid.Row="1"></TextBox>
<Button Content="Add" x:Name="AddDelay" Grid.Row="2" Grid.Column="4" VerticalAlignment="Center" Click="AddDelay_Click" ></Button>
<Button Content="Open Several Relays" x:Name="AddSeveralRelay" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Click="AddSeveralRelay_Click" ></Button>
<Button Content="Add" x:Name="AddRelay" Grid.Row="2" Grid.Column="2" VerticalAlignment="Center" Click="AddRelay_Click" ></Button>
<Label Content="Times to perform:" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="0" Grid.Row="3"></Label>
<TextBox x:Name="tbLoop" Grid.Column="2" Grid.Row="3" VerticalAlignment="Center"></TextBox>
<Button Content="Save Scenario" x:Name="btnSave" Grid.Row="5" Grid.Column="0" Click="btnSave_Click"></Button>
<Button Content="Load Scenario" x:Name="btnLoad" Grid.Row="7" Grid.Column="0" Click="btnLoad_Click"/>
<Button Content="Start" x:Name="btnStart" Grid.Row="5" Grid.Column="4" Click="btnStart_Click"></Button>
<Button Content="Clear" x:Name="btnClear" Grid.Row="7" Grid.Column="4" Click="btnClear_Click"></Button>
<CheckBox x:Name="cbPostPreAllOFF" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="4" Grid.Column="2" Content="Pre-Post Relay OFF" IsChecked="True" Click="cbPostPreAllOFF_Checked"></CheckBox>
<Grid> <Border BorderBrush="Black" BorderThickness="2"> <Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" /> </Border> ... and so on ...
The Grid class in WPF represents a Grid control. The following code snippet creates a Grid control, sets its width, horizontal alignment, vertical alignment, show grid lines, and background color. Grid DynamicGrid = new Grid();
To apply a border to a XAML element, you can place the element within a Border element, The BorderThickness and BorderBrush are two main properties of a Border The BorderBrush property represents the brush that is used to draw the border. The BorderThickness property represents the thickness of the border.
add Border
inside Grid with correct Grid.Column, Grid.Row and Grid.RowSpan attributes:
<Grid Grid.Column="1">
<!--row definitions, columns definitions, controls-->
<Border BorderThickness="1" BorderBrush="Green"
Grid.Column="2" Grid.Row="2" Grid.RowSpan="2"/>
<Border BorderThickness="1" BorderBrush="Green"
Grid.Column="4" Grid.Row="3" Grid.RowSpan="2"/>
</Grid>
This did the trick for me in order to draw a border from column 0, row 1 to column+2, row+4
<Grid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="4">
<Border BorderThickness="1" BorderBrush="Black" />
</Grid>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With