如何防止C#UWP滚动条最小化

时间:2018-07-08 18:08:00

标签: c# user-interface uwp

UWP滚动条在未对准焦点时会减小尺寸。

Shows the small scrollbar when not in focus

这是具有焦点的普通滚动条。

Scrollbar with focus

列表视图..

 <ListView  Grid.Row="2" Grid.Column="0"  
                   x:Name="emailListView"
                   HorizontalAlignment="Left" Margin="0,30,40,0"
                    HorizontalContentAlignment="Stretch" 
                    ItemsSource="{Binding Emails}" 
                    VerticalAlignment="Top" Tapped="ListView_Tapped"

ScrollViewer.VerticalScrollBarVisibility =“可见”                         CanDragItems =“ False” VerticalContentAlignment =“ Stretch”                         SelectionMode =“ Single”                         IsItemClickEnabled =“ True”>

真正的问题出在我的高清笔记本电脑上,滚动条在鼠标聚焦时不会放大。它不是触摸屏笔记本电脑,没有设置为平板电脑模式。

因此无法在笔记本电脑上滚动

1 个答案:

答案 0 :(得分:1)

您可以修改ScrollBar的样式,使ListView的ControlTemplate中的ScrollViewer防止滚动条最小化。您可以在(程序文件)(x86)\ Windows Kits \ 10 \ DesignTime \ CommonConfiguration \ Neutral \ UAP \ 10.0.xxxxx(SDK版本)\ Generic文件夹中获取Windows.UI.Xaml.Controls.Primitives.ScrollBar的默认样式。

这是一种简单的求购方式,您可以将其放在<Page.Resources/>上。在这种样式中,我仅将VerticalThumb的CompositeTransform从默认样式ScrollBar修改为ScaleX =“ 1.0”和TranslateX =“ 0”。

<Style TargetType="ScrollBar">
   ...
    <Thumb x:Name="VerticalThumb"
       Opacity="0"
       Grid.Row="2"
       Background="{ThemeResource ScrollBarPanningThumbBackground}"
       Template="{StaticResource VerticalThumbTemplate}"
       Width="{ThemeResource ScrollBarSize}"
       MinHeight="{ThemeResource ScrollBarSize}"
       AutomationProperties.AccessibilityView="Raw"
       RenderTransformOrigin="1,0.5">
        <Thumb.RenderTransform>
            <CompositeTransform x:Name="VerticalThumbTransform"
                            ScaleX="1.0"
                            ScaleY="1.0"
                            TranslateX="0"
                            TranslateY="0" />
        </Thumb.RenderTransform>
    </Thumb>
   ...
</Style>