请让我知道如何仅删除最后一列的垂直网格线。
谢谢迪
用星号标记最后一列的宽度
<DataGridTextColumn .... Width="*"
这样,您当前的最后一列(填充)将不会出现,而是您在 XAML 文件中声明的真正的最后一列将延伸到网格中可见区域的末尾。
我假设 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;
您可以使用不同的样式属性以使其正确