如何减小滚动条的拇指大小

时间:2012-11-27 12:06:33

标签: .net wpf

我有一个录制文件,其大小可以通过WPF滚动条滚动(滚动条的最大值和最小值以毫秒为单位)。

我使用了一个定时器控件,它将继续查询重新编码文件的大小。每秒记录文件的大小都会增加。它可以达到最大值12小时,或者用户可以在两者之间停止。

我的要求是:

  1. 当我们开始录制时,滚动条的缩略图应该具有完整视口的长度(可滚动区域)。
  2. 随着录制的进行,拇指缩小应该会减少。

1 个答案:

答案 0 :(得分:0)

默认滚动条为您提供此功能不是吗?只需确保在ScrollBar上设置ViewportSize属性。

您需要的ScrollBar属性是

  • 最小值:可能为零。
  • 最大值:当前录制的长度。
  • ViewportSize:视口可以看到的录制时间长度。

enter image description here

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication1"
        Title="MainWindow" Height="99" Width="418">

    <Grid Margin="0,0,2,0">
        <Slider Minimum="0" Maximum="1000" Name="slider1" Margin="61,27,0,0" Height="27" VerticalAlignment="Top" HorizontalAlignment="Left" Width="338" />
        <TextBlock Text="{Binding Value, ElementName=slider1}" Margin="10,32,0,0" Height="16" VerticalAlignment="Top" HorizontalAlignment="Left" Width="46"/>
        <ScrollBar Orientation="Horizontal"  Minimum="0" Maximum="{Binding Value, ElementName=slider1}" Margin="10,10,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="388" Height="1" SmallChange="1" LargeChange="10" ViewportSize="10"/>                                                                                                
    </Grid>
</Window>