请告诉我如何删除最后一列的垂直网格线。
由于 DEE
答案 0 :(得分: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;
}
}
根据评论进行更新
这只是一个简单的例子。尝试设置像这样的单元格样式
在xaml add
<Style x:Key="noborder" TargetType="{x:Type dg:DataGridCell}">
<Setter Property="BorderThickness" Value="0"/>
</Style>
在事件处理程序中添加
e.Column.CellStyle = this.Resources["noborder"] as Style;
您可以使用不同的样式属性来正确使用
答案 1 :(得分:0)
用星号标记最后一列宽度
<DataGridTextColumn .... Width="*"
这样您当前的最后一列(填充符)就不会出现,而是您在XAML文件中声明的最后一列将延伸到网格中可见区域的末尾。