最後の列のみ垂直グリッド線を削除する方法を教えてください。
ありがとうディー
最後の列幅に星印を付ける
<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;
}
}
コメントに基づいて更新
これは簡単な例です。そのようにセルスタイルを設定してみてください
xamlで追加
<Style x:Key="noborder" TargetType="{x:Type dg:DataGridCell}">
<Setter Property="BorderThickness" Value="0"/>
</Style>
イベントハンドラに追加
e.Column.CellStyle = this.Resources["noborder"] as Style;
さまざまなスタイルのプロパティを試して、正しくすることができます