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
по умолчанию и я не смог воспроизвести вашу проблему. Тем не менее, я надеюсь, что это помогает.