0

在此处输入图像描述

请让我知道如何仅删除最后一列的垂直网格线。

谢谢迪

4

2 回答 2

0

用星号标记最后一列的宽度

<DataGridTextColumn .... Width="*" 

这样,您当前的最后一列(填充)将不会出现,而是您在 XAML 文件中声明的真正的最后一列将延伸到网格中可见区域的末尾。

于 2012-05-10T19:53:27.960 回答
0

我假设 AutoGenerateColumn=True。如果是这样,请使用生成列时调用的 AutoGeneratingColumn 事件,这意味着要添加到 xaml 中的属性将是 AutoGeneratingColumn=DataGrid_AutoGeneratingColumn

处理程序代码将是这样的

private void DataGrid_AutoGeneratingColumn(object sender, Microsoft.Windows.Controls.DataGridAutoGeneratingColumnEventArgs e) 
    {
        if (e.PropertyName == "+") //or whatever it is
            {
                e.Cancel = false;
                e.Column.Visibility = Visibility.Collapsed;
            }
    }

根据评论更新

这只是一个简单的例子。尝试像这样设置单元格样式

在xml中添加

<Style x:Key="noborder" TargetType="{x:Type dg:DataGridCell}">
            <Setter Property="BorderThickness" Value="0"/>
</Style>

在事件处理程序中添加

e.Column.CellStyle = this.Resources["noborder"] as Style;

您可以使用不同的样式属性以使其正确

于 2012-05-10T17:28:17.717 回答