WPF中网格的某些单元格的边框 [英] Border for some cells of a grid in WPF

查看:79
本文介绍了WPF中网格的某些单元格的边框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据网格. 我想创建多个边框-不是针对整个网格,而是针对某些单元格.

I have a data grid. I want to create several borders - not for the entire grid, but for some of the cells.

例如:

  1. 第2列第2和第3行
  2. 第4列第3行和第4行.

附加我的XAML代码.

Attaching my XAML code.

提前感谢您的回答.

<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内添加具有正确Grid.Column,Grid.Row和Grid.RowSpan属性的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>

这篇关于WPF中网格的某些单元格的边框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆