gpt4 book ai didi

wpf - 滚动内部列表框时,WPF 触摸屏应用程序中本应全屏显示的窗口正在移动

转载 作者:行者123 更新时间:2023-12-04 16:16:12 32 4
gpt4 key购买 nike

我正在使用 VB.NET 和 WPF 编写一个在触摸屏设备上运行的 GUI 应用程序——它必须始终全屏显示,就像信息亭应用程序一样;窗口不得以任何方式调整大小或移动。该窗口包含一个 ListBox,用户当前可以通过在列表中拖动来滚动浏览该列表框。我看到的问题是,当用户在列表中拖动时,整个窗口会移动一点,露出下面的桌面,然后在用户停止拖动后弹回原位。我无法弄清楚如何在保持窗口静止的同时仍然允许用户拖动 ListBox 以查看所有列表项。这是我的代码的简化版本:

<Window  
x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
WindowStyle="None"
WindowState="Maximized"
WindowStartupLocation="CenterScreen"
KeyboardNavigation.TabNavigation="None"
Topmost="True"
Focusable="False"
ResizeMode="NoResize"
ShowInTaskbar="False"
MaxHeight="1080px"
MaxWidth="1920px">
<Grid>
<ListBox
x:Name="docList"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden"
BorderThickness="0">
<TextBlock Text="Item1" />
<TextBlock Text="Item2" />
<TextBlock Text="Item3" />
<TextBlock Text="Item4" />
<TextBlock Text="Item5" />
<TextBlock Text="Item6" />
</ListBox>
</Grid>
</Window>

最佳答案

我相信,如果您处理列表框上的 OnManipulationBoundaryFeedback(object sender, TouchEventArgs e) 事件,并设置 e.Handled 属性 true,这应该可以防止应用程序窗口的“弹跳”。

也有可能(我直到现在才想到)在窗口级别处理事件,因为它是一个冒泡事件,以减少任何其他控件导致相同行为的可能性。

关于wpf - 滚动内部列表框时,WPF 触摸屏应用程序中本应全屏显示的窗口正在移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3153990/

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