2012-05-10 43 views

回答

0

我假設AutoGenerateColumn =真。如果是這樣,使用生成列時,這就是所謂的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; 

你可以用不同的風格特性發揮得到它的權利

+0

其實我有AutoGenerateColumn = false。我添加了額外的列。我試圖給同樣的visibility.collapsed到最後一列,它隱藏整個列。我仍然想要+按鈕添加列。 –

+0

然後我會嘗試設置cellstyle。將更新答案的細節。 – Sharun

+0

感謝您的幫助。 –

0

迎來最後列寬度用星號

<DataGridTextColumn .... Width="*" 

這樣你當前的最後一列(填充符)就不會出現,而你在XAML文件中聲明的最後一列將延伸到網格中可見區域的末尾。