我希望GridViewColumn中的信息从“对齐”到“右边”。
这就是我所做的,但却不起作用:
<ListView ItemsSource="{Binding VolumeNumber}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" >
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header="SomeStatus" DisplayMemberBinding="{Binding Name}" Width="170" />
<GridViewColumn Header="from" DisplayMemberBinding="{Binding Value, StringFormat=0.000000}" Width="170 >
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextAlignment="Right" Width="40"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>发布于 2015-05-08 13:04:22
如果只希望一个特定列对齐到右边,请在
https://msdn.microsoft.com/en-us/library/bb961985.aspx
这是我的实现
<Window.Resources>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</Window.Resources>
<Grid>
<ListView ItemsSource="{Binding VolumeNumber}">
<ListView.View>
<GridView>
<GridViewColumn Header="SomeStatus" DisplayMemberBinding="{Binding Name}" Width="170"/>
<GridViewColumn Header="from" Width="170">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" TextAlignment="Right" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>现在不要在GridViewColumn声明中设置DisplayMemberBinding="{Binding }“,您需要在textblock 中设置它,否则它将忽略单元模板
若要更改列的对齐方式,需要指定每个ListViewItem的HorizontalContentAlignment属性是拉伸的,以便每个ListViewItem中的元素可以跨越或位于每个列的整个宽度。因为ListView绑定到数据源,所以需要创建设置HorizontalContentAlignment的样式。接下来,您需要使用DataTemplate来显示内容,而不是使用DisplayMemberBinding属性。要显示每个模板的值,DataTemplate可以只包含一个将其HorizontalAlignment属性设置为右的TextBlock。下面的示例定义了使列右对齐所需的样式和DataTemplate,并将GridViewColumn更改为引用DataTemplate。

发布于 2015-05-08 13:24:26
这里的问题是ListViewItem (即每个GridViewColumn单元的容器)。您必须将其属性HorizontalContentAlignment设置为Stretch。
在这里查看一下(如果要使用DisplayMemberBinding,还需要删除DataTemplate):
<ListView ItemsSource="{Binding VolumeNumber}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header="SomeStatus" DisplayMemberBinding="{Binding Name}" Width="170" />
<GridViewColumn Header="from" Width="170">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value, StringFormat=0.000000}" TextAlignment="Right" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>https://stackoverflow.com/questions/30123898
复制相似问题