2017-05-22 27 views
0

私はWPFウィンドウアプリケーションを作成しており、MainWindowには3列のListViewコントロールが含まれています。WPF ListView列ヘッダーの配置

次のコードは、(デフォルトで)列ヘッダーの中央にテキストを表示します。

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:local="clr-namespace:WpfApplication1" 
     mc:Ignorable="d" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <ListView> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn Header="Column 1" 
            Width="200"/> 
        <GridViewColumn Header="Column 2" 
            Width="200"/> 
        <GridViewColumn Header="Column 3" 
            Width="200"/> 
       </GridView> 
      </ListView.View> 
     </ListView> 
    </Grid> 
</Window> 

そして私は、列ヘッダのテキストを左揃えにする方法を示し、次のHow to align the column header in a WPF ListView_GridView control記事を見つけました。

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:local="clr-namespace:WpfApplication1" 
     mc:Ignorable="d" 
     Title="MainWindow" Height="350" Width="525"> 
    <Window.Resources> 
     <Style TargetType="{x:Type GridViewColumnHeader}"> 
      <Setter Property="HorizontalContentAlignment" Value="Left" /> 
     </Style> 
    </Window.Resources> 
    <Grid> 
     <ListView> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn Header="Column 1" 
            Width="200"/> 
        <GridViewColumn Header="Column 2" 
            Width="200"/> 
        <GridViewColumn Header="Column 3" 
            Width="200"/> 
       </GridView> 
      </ListView.View> 
     </ListView> 
    </Grid> 
</Window> 

しかし、私は左に整列するために最初の列ヘッダのテキストを必要とし、2番目と3番目の列ヘッダのテキストは(絵のように)を中心とするために:私は列の下貼り付けました。 enter image description here

誰かが第1列の列ヘッダーテキストを左揃えにする方法を教えてください。 2列目と3列目に列ヘッダーテキストを中央に配置する方法は?

+1

GridViewColumnは、あなたが個別に各列のヘッダーのスタイルをすることができますHeaderContainerStyle性質を持っています... – elgonzo

答えて

0

のみ、最初の列のHeaderContainerStyleプロパティを設定し、<Window.Resources>からimplictスタイルを削除します。

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:local="clr-namespace:WpfApplication1" 
     mc:Ignorable="d" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <ListView> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn Header="Column 1" Width="200"> 
         <GridViewColumn.HeaderContainerStyle> 
          <Style TargetType="{x:Type GridViewColumnHeader}"> 
           <Setter Property="HorizontalContentAlignment" Value="Left" /> 
          </Style> 
         </GridViewColumn.HeaderContainerStyle> 
        </GridViewColumn> 
        <GridViewColumn Header="Column 2" Width="200"/> 
        <GridViewColumn Header="Column 3" Width="200"/> 
       </GridView> 
      </ListView.View> 
     </ListView> 
    </Grid> 
</Window> 
関連する問題