2015-11-02 85 views
3

我有一個包含列的數據網格。每列都有自動寬度(取決於內容)。我的問題是我想要每個列之間的間距(填充?)。C#WPF datagrid - autowith列上的間距

我試着用下面的代碼來實現這一目標:

<Style TargetType="{x:Type DataGridCell}"> 
      <Setter Property="Padding" Value="0 0 20 0"/> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="{x:Type DataGridCell}"> 
         <Border Padding="{TemplateBinding Padding}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"> 
          <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> 
         </Border> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 

它基本上工作,但如果我選擇一個單元格,在20像素(填充)不會被選中(它只是一個設計問題)。

它看起來不太漂亮。有任何想法嗎?

+1

恕我直言類的東西,這只是正常的,這是我的一個DataGrid,我不改變模板觀察:有一些填充是未選中的。問候 –

+0

哦,這就是傷心:( –

回答

0

嘗試將Style添加到每一列並在其中定義填充。像Style="{StaticResource InfoNameTextBlock}" 而在你保持你的風格

<Style TargetType="yourType" x:Key="InfoNameTextBlock"> 
    <Setter Property="Padding" Value="5,0"/> 
</Style>