2011-12-01 17 views
5

मैं वर्तमान ड्रैग ऑपरेशन को कैसे रद्द कर सकता हूं? मैं चल रहे ड्रैग ऑपरेशंस को रद्द करने के लिए एस्केप कुंजी का उपयोग करना चाहता हूं।WPF ड्रैग ऑपरेशन रद्द करें

Ive ने ड्रैगड्रॉप क्लास को देखा, लेकिन ड्रैगड्रॉप.कैंकल जैसी कुछ हासिल करने वाली कुछ भी नहीं देख पाई। कोई विचार?

उत्तर

9

मैं निम्नलिखित का उपयोग कर रद्द आपरेशन हल किया।

private void DataGrid_QueryContinueDrag(object sender, 
             QueryContinueDragEventArgs e) 
{ 
    if (... condition ...) 
     e.Action = DragAction.Cancel; 
} 

अपने मामले में हालत Keyboard.IsKeyDown(Key.Escape) होगा।

+1

या सीधे ['e.EscapePressed'] (http://msdn.microsoft.com/en-us/library/system.windows.querycontinuedrageventargs.escapepressed.aspx)। –

+0

धन्यवाद आदमी, यह उपयोगी था – Rida

1

DragDrop.QueryContinue ईवेंट का उपयोग करें, यह आपको Action संपत्ति के माध्यम से इसे रद्द करने की अनुमति देता है। (मेरे मामले में डेटा ग्रिड)

Control खींचें प्रदर्शन पर मैं QueryContinueDrag घटना के लिए कोई हैंडलर कहा:

संबंधित मुद्दे