【问题标题】:How to make the scrollbar of a scrollviewer in XAML be non-interactive如何使 XAML 中的滚动查看器的滚动条成为非交互式的
【发布时间】:2017-04-15 02:42:15
【问题描述】:

我正在尝试创建一个 UWP 计算器应用程序,但对于显示我有一个小问题。计算器是您输入文本并最终单击输入的类型,它尊重操作顺序。因此,输入可能会变得很长,所以我需要一个围绕文本框的滚动查看器。我正在开发 Windows 10 Creator 的更新,但如果可能的话,该应用应该向后兼容到发布版本。

我打算使用按钮来控制光标位置,但我仍然希望有一个滚动条来指示您在长字符串中的水平位置。我不知道如何使滚动条仅作为视觉指示器,而不是作为控制滚动查看器的一种方式。当鼠标光标靠近它时,滚动条会展开并允许用户输入;这是我想避免的。

这是我目前的展示,非常基本。我将如何根据我的目的修改该滚动查看器?

<Border>
    <ScrollViewer HorizontalScrollMode="Auto" VerticalScrollMode="Disabled" HorizontalScrollBarVisibility="Auto">
        <TextBox IsReadOnly="True" Margin="5" FontSize="24" Text="long string of testing text"/>
    </ScrollViewer>
</Border>

【问题讨论】:

    标签: xaml uwp


    【解决方案1】:

    ScrollBar 上禁用命中测试:

    <Border>
        <ScrollViewer HorizontalScrollMode="Auto"
                      VerticalScrollMode="Disabled"
                      HorizontalScrollBarVisibility="Auto">
            <ScrollViewer.Resources>
                <Style TargetType="ScrollBar">
                    <Setter Property="IsHitTestVisible"
                            Value="False"/>
                </Style>
            </ScrollViewer.Resources>
            <TextBox IsReadOnly="True"
                     Margin="5"
                     FontSize="24"
                     Text="long string of testing text" />
        </ScrollViewer>
    </Border>
    

    【讨论】:

    • 感谢您的快速回复。像魅力一样工作。
    猜你喜欢
    • 2015-12-06
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 2019-12-10
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    • 2013-07-16
    相关资源
    最近更新 更多