c# - 根据下图,wpf 中的滚动条样式

标签 c# wpf styles

我想在 WPF 中为滚动条添加一个滚动样式代码,如下图所示。此滚动条位于 Grid 标记内。

enter image description here

感谢您的帮助。

最佳答案

我之前创建了一个与此类似的用户控件。此示例代码可为您提供一个良好的起点。

<Border BorderThickness="2" BorderBrush="Black">
    <Grid>
    <Grid.RowDefinitions>           
        <RowDefinition Height="20"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
        <RowDefinition Height="20"></RowDefinition>
    </Grid.RowDefinitions>


        <RepeatButton Grid.Row="0" x:Name="btnUp" Focusable="False" Command="ScrollBar.LineUpCommand" CommandTarget="{Binding ElementName=firstItem}" BorderBrush="Transparent">
        <RepeatButton.Background>
            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                <GradientStop Color="White" Offset="0"></GradientStop>
                <GradientStop Color="Black" Offset=".5"></GradientStop>
            </LinearGradientBrush>
        </RepeatButton.Background>
        <RepeatButton.Content>
            <Path Fill="White" Data="M 0 10 L 36 10 L 18 0 Z"/>
        </RepeatButton.Content>
    </RepeatButton>
    <ListView  Grid.Row="1" FontSize="22" Foreground="White" ScrollViewer.VerticalScrollBarVisibility="Hidden" HorizontalContentAlignment="Center" Background="Black" >
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel MaxWidth="500"/>
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
        <ListViewItem Name="firstItem">A</ListViewItem>
        <ListViewItem>B</ListViewItem>
        <ListViewItem>C</ListViewItem>
        <ListViewItem>D</ListViewItem>
        <ListViewItem>E</ListViewItem>
        <ListViewItem>F</ListViewItem>
        <ListViewItem>G</ListViewItem>
        <ListViewItem>H</ListViewItem>
        <ListViewItem>I</ListViewItem>
        <ListViewItem>J</ListViewItem>
        <ListViewItem>K</ListViewItem>
        <ListViewItem>L</ListViewItem>
        <ListViewItem>M</ListViewItem>
        <ListViewItem>N</ListViewItem>
        <ListViewItem>O</ListViewItem>
    </ListView>
    <RepeatButton Grid.Row="2" x:Name="btnDown" Focusable="False" Command="ScrollBar.LineDownCommand" CommandTarget="{Binding ElementName=firstItem}" BorderBrush="Transparent">
        <RepeatButton.Background>
            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                <GradientStop Color="White" Offset="0"></GradientStop>
                <GradientStop Color="Black" Offset="0.5"></GradientStop>
            </LinearGradientBrush>
        </RepeatButton.Background>
        <RepeatButton.Content>
            <Path Fill="White" Data="M 0 0 L 18 10 L 36 0 Z"/>
        </RepeatButton.Content>
    </RepeatButton>
</Grid>
</Border>

关于c# - 根据下图,wpf 中的滚动条样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16029419/

相关文章:

c# - 如何使用触发器在 Setter Value 属性上绑定(bind)另一个控件?

c# - 如何在 dotnet core 3 中使用依赖项在启动时调用自定义服务?

c# - 从 XML 生成 C# 类

c# - 在 C# 中,检查 stringbuilder 是否包含子字符串的最佳方法

c# - 自定义按钮中的 WPF 绑定(bind)边框颜色

css - WordPress 自动给 'html' 标签添加样式

C# WPF - 切换某些内容的可见性不起作用

c# - MVVM DynamicObject + Entity Framework STE 实体 + 属性更改行为

html - 如何使用伪类:before/:after?

javascript - 输入字段内的标签在聚焦时消失