WPF Datagrid Syling

时间:2012-05-10 16:57:52

标签: wpf datagrid

enter image description here

请告诉我如何删除最后一列的垂直网格线。

由于 DEE

2 个答案:

答案 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文件中声明的最后一列将延伸到网格中可见区域的末尾。