gpt4 book ai didi

wpf - xaml Scrollviewer - 禁用 Overscrolling/rubber-band-effect/snapback-effect/bouncing of whole window

转载 作者:可可西里 更新时间:2023-11-01 13:34:29 29 4
gpt4 key购买 nike

当我在列表框中使用滚动查看器时,当我通过触摸滚动到达列表框的末尾时,我的整个窗口都在弹跳。当我使用鼠标滚轮时,此行为不会出现。我怎样才能禁用这种过度滚动/橡皮筋效果/回弹效果/弹跳效果。

我在 Windows 8 计算机上使用 .NET Framework 4.5。

您可以在这个视频中看到反弹效果:http://www.vidup.de/v/gQ2pI/

这是我的示例代码:

<Window x:Class="style_test_for_scrollviewer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">

<Grid>
<ListBox Width="200">
<WrapPanel Width="200" ScrollViewer.PanningMode="VerticalOnly" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Visible">
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
<Button Height="200" Width="200"></Button>
</WrapPanel>
</ListBox>
</Grid>
</Window>

最佳答案

您可以通过覆盖 OnManipulationBoundaryFeedback 方法来移除此行为:

public class FixedListBox : ListBox
{
protected override void OnManipulationBoundaryFeedback(ManipulationBoundaryFeedbackEventArgs e)
{
e.Handled = true;
}
}

另一种解决方案是将以下处理程序添加到 ManipulationBoundaryFeedback 事件(直接在 ListBox 上或通过样式):

<ListBox ManipulationBoundaryFeedback="OnManipulationBoundaryFeedback"/>

或者:

<Style TargetType="{x:Type ListBox}">
<EventSetter Event="ManipulationBoundaryFeedback" Handler="OnManipulationBoundaryFeedback"/>
</Style>

后面有如下代码:

protected void OnManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e)
{
e.Handled = true;
}

这些方法也适用于 ScrollViewer。

关于wpf - xaml Scrollviewer - 禁用 Overscrolling/rubber-band-effect/snapback-effect/bouncing of whole window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16858908/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com