WPF设置lisbox scrollbar自定义样式
时间: 2023-11-02 11:29:12 浏览: 86
WPF中自定义Scrollbar 滚动条 样式 图片
4星 · 用户满意度95%
您可以使用ListBox的ScrollViewer来自定义ListBox的滚动条样式。以下是一个简单的示例:
```xml
<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto">
<ListBox.Resources>
<Style TargetType="ScrollBar">
<Setter Property="Background" Value="Gray" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Width" Value="10" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ScrollBar">
<Grid>
<Rectangle x:Name="PART_Track" Fill="{TemplateBinding Background}" />
<RepeatButton x:Name="PART_LineUpButton" Content="▲" VerticalAlignment="Top" Command="ScrollBar.LineUpCommand" />
<RepeatButton x:Name="PART_LineDownButton" Content="▼" VerticalAlignment="Bottom" Command="ScrollBar.LineDownCommand" />
<Thumb x:Name="PART_Thumb" Background="{TemplateBinding Foreground}" Width="10" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="PART_Track" Property="Opacity" Value="0.5" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="PART_Track" Property="Opacity" Value="0.2" />
<Setter TargetName="PART_Thumb" Property="Opacity" Value="0.2" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.Resources>
<!-- Your ListBox Items Here -->
</ListBox>
```
在上面的示例中,我们定义了一个样式,目标类型为ScrollBar。我们使用Grid和Rectangle、RepeatButton、Thumb元素来定义滚动条的外观。您可以使用不同的元素和属性来创建自己的自定义滚动条样式。在ListBox中,我们使用ScrollViewer.HorizontalScrollBarVisibility和ScrollViewer.VerticalScrollBarVisibility属性来设置水平和垂直滚动条的可见性。最后,我们使用ListBox.Resources属性将样式应用于ListBox。
阅读全文