Задать вопрос

Как совместить ListView и GridView при установке стиля для ListView в WPF (C#)?

Есть ListView, в который по колонкам выводится содержимое из ObservableCollection. Для вывода содержимого по колонкам к ListView привязан GridView, объявленный в Window.Resources в качестве статического ресурса:

<GridView x:Key="GridView1">
            <GridView.Columns>
                <GridViewColumn Header="Имя" DisplayMemberBinding="{Binding Path=Name}"></GridViewColumn>
                <GridViewColumn Header="Тип" DisplayMemberBinding="{Binding Path=Type}" Width="60"></GridViewColumn>
                <GridViewColumn Header="Размер" DisplayMemberBinding="{Binding Path=Size}" Width="60"></GridViewColumn>
                <GridViewColumn Header="Дата" DisplayMemberBinding="{Binding Path=Date}" Width="130"></GridViewColumn>
            </GridView.Columns>
        </GridView>


Объявление ListView:

<ListView View="{StaticResource GridView1}" Name="folderPanel1"></ListView>


Без стиля вывод по колонкам работает нормально, но стоит привязать стиль, как заголовки колонок пропадают (содержимое выводится нормально):
<Style TargetType="{x:Type ListView}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ListView}">
                        <Border 
                            Name="Button" 
                            Background="{StaticResource ListViewBackgroundBrush}"
                            BorderBrush="{StaticResource StandartBorderBrush}"
                            BorderThickness="1" CornerRadius="3">
                            <ScrollViewer Focusable="False">
                                <ItemsPresenter Margin="2"></ItemsPresenter>
                            </ScrollViewer>                            
                        </Border>    
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>


Стиль всего лишь заготовка, на простоту не обращайте внимание. Как сделать так, чтобы заголовки колонок не пропадали?
  • Вопрос задан
  • 943 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@asvishnyakov
Программист
Попробуйте
<ScrollViewer Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}" Focusable="False">
    <ItemsPresenter Margin="2"/>
</ScrollViewer>

Взято отсюда
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы