c#-WinRT中是否存在拖放事件?
作者:互联网
我正在寻找Metro中的“已拖放”事件,这意味着如果用户将某个项目拖放到可放置区域之外.
我怎样才能做到这一点或有什么解决方法?
解决方法:
我没有发现这样的事件(对于c#/ XAML)!也许(希望)在最终版本中会存在一个事件!
作为临时的解决方法,我已经注册了Window.Current.CoreWindow.PointerReleased事件.
然后在开始拖动时,将布尔指示器设置为true,如果拖动结束,则将触发PointerReleased事件,并且可以测试布尔指示器.
解决方法
在Page(或任何元素)的构造函数中注册到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;
// ...
}
标签:drag-and-drop,windows-runtime,c 来源: https://codeday.me/bug/20191101/1980606.html