WPF DataGrid-透明的水平网格线,但最后一行的底部水平线除外

时间:2019-10-09 17:02:43

标签: c# wpf xaml

我对C#或XAML不太熟悉,但是我有一个DataGrid,它可以将“水平网格线”设置为透明。但是,我需要使DataGrid的最后一行的底部网格线成为实线而不是透明。

DataGrid在网格内,我尝试将Border的厚度值设置为“ 0,0,0,1”,这是可行的,但没有成功。 试图添加一些条件语句来检查DataGrid的最后一行,但是在构建代码的方式上,没有确定它是否最后一行的特殊方法。

DataGrid的当前样式

<Grid>
  <Grid>
    <Border>
      ...
    <Border/>
    <DataGrid>
      <DataGrid.Columns>
        ...
      <DataGrid.Columns/>
    <DataGrid/>
    <DataGrid>
      <DataGrid.Columns>
        ...
      <DataGrid.Columns/>
    <DataGrid/>
    <DataGrid>
      <DataGrid.Columns>
        ...
      <DataGrid.Columns/>
    <DataGrid/>
  <Grid/>
<Grid/>

DataGrid

usermod - aG wheel username

我正在尝试是否有一种更好的方法来在没有条件xaml语句的情况下在最后一行的底部实现一行。

2 个答案:

答案 0 :(得分:0)

您可以将数据网格本身包装在边框中吗?

<Grid>
  <Border BorderBrush="#CDCDCD" BorderThickness="0,0,0,1">
  <DataGrid>
    <DataGrid.Columns>
      ...
    <DataGrid.Columns/>
  <DataGrid/>
<Border/>
<Grid/>

答案 1 :(得分:0)

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <DataGrid GridLinesVisibility="Vertical"
              BorderBrush="Black"
              Background="White"
              BorderThickness="0 0 0 1"
              DataContext="{Binding ElementName=win}"
              ItemsSource="{Binding itemList}"
              CanUserAddRows="False"
              HorizontalAlignment="Left">
    </DataGrid>
</Grid>

enter image description here