Как «Центрировать» элементы списка в столбце

0

Кажется, где бы я не разместил HorizentalAlignment = "Center" в моей ListViewColumn это не влияет на результат.

Это все, что я пробовал до сих пор,

        <ListView.View>
            <GridView>
                <GridViewColumn Header="Device name" Width="120" DisplayMemberBinding="{Binding Path=DeviceName}"/>
                <GridViewColumn>
                    <GridViewColumnHeader Content=" GPS Signal " />
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Grid HorizontalAlignment="Center">
                                <Image Width="13" HorizontalAlignment="Center" Source="{Binding Path=GpsSignalImagePath}"/>
                            </Grid>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>

Как вы можете видеть, это упоминается в Grid а также в самом Image, но не повезло. Результат отображается совпадающим с левым, как показано на рисунке ниже.

Изображение 174551

Теги:
xaml
wpf
listview

2 ответа

0

Вы можете попытаться установить HorizontalContentAlignment из ListViewItem из стиля, чтобы изменить alingment содержимого ячейки:

<ListView ....>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Center" />
        </Style>
    </ListView.ItemContainerStyle>
    ......
    ......
</ListView>
0

Установите HorizontalAlignment внутри ItemsPanelTemplate как это

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <Grid HorizontalAlignment="Center"/>
    </ItemsPanelTemplate>
</ListView.ItemsPanel>
  • 0
    @ har7, но так как у меня уже есть <ListView.View> я не смогу использовать второе свойство, такое как <ListView.ItemPanel> . Вы предлагаете удалить вид?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню