これを修正する方法はありますか、または GridViewColumn を左または中央に揃える必要がありますか? たとえば、ファイル サイズを MB 単位で示す列があり、右揃えにしていますが、列の幅を変更すると、列のテキストが消えます。
<ListView Name="myLV" SelectionMode="Single" ItemcontainerStyle="{DynamicResource lvis}" ItemSource="{Binding mySource}">
<ListView.View>
<GridView>
<GridViewColumn Header="Filename" local:MainWindow.SortName="Model.filename">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Margin="0" Text="{Binding DisplayFilename}" VerticalAlignment="Center" Width="70" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Filesize" local:MainWindow.SortName="Model.FileSize">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Margin="0" Text="{Binding DisplayFileSize}" VerticalAlignment="Center" TextAlignment="Right" Width="123" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
私の解決策:
<ListView Name="myLV" SelectionMode="Single" ItemcontainerStyle="{DynamicResource lvis}" ItemSource="{Binding mySource}">
<ListView.View>
<GridView>
<GridViewColumn Header="Filename" local:MainWindow.SortName="Model.filename" width="Auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Margin="0" Text="{Binding DisplayFilename}" VerticalAlignment="Center" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Filesize" local:MainWindow.SortName="Model.FileSize" width="Auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Margin="0" Text="{Binding DisplayFileSize}" VerticalAlignment="Center" TextAlignment="Right" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
GridViewColumn の幅が自動になり、Textblock の幅が削除されました。これで、テキストがすぐに消えることはありません。スペースに余裕がなくなったときにのみ消え始めます。