wpf listview itempanel scrollviewer

Когда я установил ListView.ItemsPanel в WrapPanel тогда правая полоса прокрутки теряется (не видно). И содержимое прокручивается колесиком мыши и, конечно, при изучении визуального дерева в этом scrollviewer все свойства устанавливаются правильно. Что тут может быть не так и почему его не видно.

        <Style TargetType="{x:Type ListView}">
            <Setter Property="ItemsPanel">
                <Setter.Value>
                    <ItemsPanelTemplate>
                        <WrapPanel Background="Transparent" MouseDown="WrapPanel_MouseDown_1" 
                             IsItemsHost="True"
                             Width="{Binding Path=ActualWidth,  RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ScrollContentPresenter}}}">

                        </WrapPanel>
                    </ItemsPanelTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="ItemTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>
                            <Path Fill="{Binding ElementName=tBlock, Path=Foreground}" Width="20" Height="20" Margin="5, 0, 0, 0" Stretch="Uniform" Data="{Binding SmallIcon}" />
                            <TextBlock Margin="5, 4, 5, 0" x:Name="tBlock" Grid.Column="1" TextWrapping="Wrap" Width="200" Text="{Binding Name}"></TextBlock>
                        </Grid>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>

Это скриншот:

Скриншот

1 ответ

Задавать VerticalScrollBarVisibility и / или HorizontalScrollBarVisibility до желаемого значения:

<ListView
          ScrollViewer.HorizontalScrollBarVisibility="Visible" 
          ScrollViewer.VerticalScrollBarVisibility="Visible"> 
    <ListView.Style>
        <Style TargetType="{x:Type ListView}">
         // ...

VerticalScrollBarVisibility является Auto по умолчанию и я не смог воспроизвести вашу проблему. Тем не менее, я надеюсь, что это помогает.

Другие вопросы по тегам