gpt4 book ai didi

c# - WinRT 中是否存在拖放取消事件?

转载 作者:行者123 更新时间:2023-11-30 15:38:14 25 4
gpt4 key购买 nike

我正在寻找 Metro 中的拖放取消事件,这意味着如果用户拖动一个项目并将其放到可放置区域之外。

我怎样才能做到这一点,或者有什么解决方法吗?

最佳答案

我还没有找到这样的事件(对于 c#/XAML)!也许(希望)最终版本中会存在一个事件!

作为临时解决方法,我已注册到 Window.Current.CoreWindow.PointerReleased-event。
然后在拖动开始时,我将 bool 指示器设置为 true,如果拖动结束,PointerReleased 事件将被触发,我可以测试 bool 指示器。

解决方法
在页面(或任何元素)的构造函数中注册到 PointerReleased:

Window.Current.CoreWindow.PointerReleased+=CoreWindow_PointerReleased;

事件处理程序可能看起来像这样:

void CoreWindow_PointerReleased(CoreWindow sender, PointerEventArgs args) {
if (m_isDragging) {
m_isDragging = false;
// Here you know that a drag-operation came to a end
}
}

您可以设置指标,例如:

    private void Entries_DragStarting(object sender, DragItemsStartingEventArgs e){            
m_isDragging = true;
// ...
}

关于c# - WinRT 中是否存在拖放取消事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11686587/

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