【问题标题】:ScrollViewer border moves out when HorizontalScrollBarVisibility set to "Auto" or "Visible"当 Horizo​​ntalScrollBarVisibility 设置为“Auto”或“Visible”时,ScrollViewer 边框移出
【发布时间】:2010-02-15 17:10:57
【问题描述】:

在 XAML 中,我有一个 ScrollView 和一个 ListView。

<ScrollViewer Margin="0, 0, 0, 2" HorizontalScrollBarVisibility="Visible">
      <ListView  BorderBrush="Red" BorderThickness="3" Name="listAnswers">

...
/>

所以,当我删除 Horizo​​ntalScrollBarVisibility 标签时, 滚动时我的边框不可移动,但如果我设置 Horizo​​ntalScrollBarVisibility 到“自动”或“可见”垂直红色边框移出并消失。

如何启用滚动条并将其边框设置为不可移动?

图片:

alt text http://www.freeimagehosting.net/uploads/f2446d54ab.jpg

alt text http://www.freeimagehosting.net/uploads/a5bfe72b5e.jpg

【问题讨论】:

    标签: c# wpf xaml wpf-controls scroll


    【解决方案1】:

    您可以使用填充代替边框:

    <ScrollViewer Margin="0, 0, 0, 2" HorizontalScrollBarVisibility="Visible" Padding="3" Background="Red">
        <ListView Name="listAnswers" MinWidth="300"/>
    </ScrollViewer>
    

    【讨论】:

    • 不是这样,红色边框也包含了一个滚动条,但它必须在里面,如图所示。问题是 ListView 有它自己的边框,它会在滚动时设置 Horizo​​ntalScrollBarVisibility 消失,我不明白为什么。
    • 好的,我已经看到图片了。给我一分钟来检查一些解决方案:)
    • 德米特里,我的答案已更改,请尝试其他解决方案。
    • 是的,至于红色边框,它可以工作,谢谢。但是关于listview自己的边框,不合适,我应该举一个真实的例子。请完全删除红色边框,然后再试一次关于 ScrollViewer 内部 Listview 自己的边框。如果 Horizo​​ntalScrollBarVisibility 设置为“Auto”或“Visible”,则 ListView 边框开始滚动。
    • 好吧,我认为最好将 ListView 的宽度设置为固定值以适合 scrollviewer,它可以解决问题。
    猜你喜欢
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多