2017-11-09 15 views
1

DataGridをリストビューのように見せようとしています。
テキスト "name"を中心にしたい
そして、アイテムの右側にある縦の黒いバーを削除します。 enter image description here列ヘッダーをデータグリッドの中央に配置する方法XAML

<Window.Resources> 
    <Style x:Key="DGCHeaderStyle" TargetType="{x:Type DataGridColumnHeader}"> 
     <Setter Property="Height" Value="30"/> 
     <Setter Property="HorizontalAlignment" Value="Stretch"/> 
     <Setter Property="HorizontalContentAlignment" Value="Center"/> 

     <Setter Property="Background" Value="#303030" /> 
     <Setter Property="Foreground" Value="White"/> 
    </Style> 

    <Style x:Key="DGHeaderStyle" TargetType="{x:Type DataGrid}"> 
     <Setter Property="ColumnHeaderStyle" Value="{DynamicResource DGCHeaderStyle}"/> 
    </Style> 
</Window.Resources> 
<Grid> 
    <DataGrid Foreground="Black" HeadersVisibility="Column" Background="Transparent" BorderBrush="Black" RowBackground="Transparent" x:Name="dgItems" Margin="2,0,10,10" Style="{DynamicResource DGHeaderStyle}"/> 
</Grid> 

答えて

0

ハードそれを修正、それが大きな特徴の一つを破る追加コントロールとビューのスケーラビリティであるWPFの関係なく、あなたが、またはどのように持っているどのように多くの列

<DataGrid ColumnWidth="*"/> 

その方法、:DataGrid自体にColumnWidthプロパティを設定する代わりにハードコーディングされた「525」の値よりも

は、あなたがより良い設計の柔軟性を与えないだろうワイド/狭いウィンドウまたは DataGridが得られる場合、列は常に DataGridの利用可能なスペースのすべてを占有します。

WPF用語では、*は、コンテナ内の「すべての残りの領域を使用する」を意味します。

+0

ColumnWidthは、さまざまな状況で簡単に破損します。実際、DataGridは非常に壊れているので、誰もがそれから離れていることを強くお勧めします。同様の機能を持つコントロールが必要な場合は、DataGridの問題を1つ解決するのと同じ時間で簡単に自作することができます。 DataGridは、WPFフレームワークで最も簡単に制御が破られています。 – Krythic

0

<Setter Property="Width" Value="525"/> 

<Style x:Key="DGCHeaderStyle" TargetType="{x:Type DataGridColumnHeader}"> 

するためには、あなたが行っているように値がうまくいくコーディング

関連する問題