mogmo .NET

C#/XAML/VB6たまにC++についてメモ程度に書いていく。あくまで自分用。責任は取れません。

ListViewの列の文字列を右寄せにする

ListViewItemのHorizontalContentAlignmentプロパティをStretchにする。

ポイントはこれ。
ListViewItemの横幅をStretchにしないと,せっかくTextAlignmentを設定しても右寄せにはならない。

 <UserControl.Resources>
    <ResourceDictionary>
        <Style TargetType="{x:Type ListViewItem}">
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        </Style>
    </ResourceDictionary>
 </UserControl.Resources>

ListViewの中の*列目を右寄せにする

ふつうにTextBlockを右寄せの設定にします。

 <ListView ItemsSource="{Binding Path=Source}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="name" DisplayMemberBinding="{Binding Path=Name}" Width="auto"/>
            <GridViewColumn Header="meas. value" Width="auto">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=MeasurementValue}" TextAlignment="Right"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
 </ListView>