2010-06-02 10 views
5

सिल्वरलाइट में Ctrl + वी का पता लगाने का सबसे अच्छा तरीका क्या है?सिल्वरलाइट 4 में Ctrl + V का पता कैसे लगाएं?

मैं Ctrl +वी पता लगाने के लिए, क्लिपबोर्ड करने के लिए उपयोग करना चाहते हैं।

+1

क्या आप अपने एप्लिकेशन में Ctrl + V में वैश्विक रूप से अवरुद्ध करना चाहते हैं? –

+0

हां, यही वही है जो मैं चाहता हूं। – eflles

उत्तर

0

संपादित

अपने Silverlight आवेदन में CTRL कैप्चर करने के लिए + वी कुंजी दबाने विश्व स्तर पर, कठिनाई से भरा है। घटनाएं बाल तत्वों और बुलबुले को मूल नियंत्रण में शुरू होती हैं, इसलिए बस आपके रूट UIElement पर KeyDown को संभालना काम नहीं करेगा। किसी भी पाठ इनपुट नियंत्रण को पहले ईवेंट प्राप्त होगा और इसे परेशान करेगा (ईवेंट तर्कों पर सही से संभालकर।) मुझे लगता है कि यदि आप डीओएम पुल का उपयोग करते हैं और रॉयललाइट तत्व के लिए ब्राउजर कीडाउन घटना में हैंडलर की सदस्यता लेते हैं तो आप वास्तव में इसे पहले प्राप्त करने में सक्षम हो, और किसी भी चांदी के नियंत्रण के नियंत्रण से पहले इसे पूरी तरह से संभालने में सक्षम हो। मुझे लगता है कि CTRL + वी को अवरुद्ध करने का सबसे आसान तरीका होगा, लेकिन मैंने इसका परीक्षण नहीं किया है।

मूल उत्तर

आप System.Windows.Clipboard वर्ग का उपयोग करना चाहिए।

  • gettext, जो क्लिपबोर्ड
  • setText, जो क्लिपबोर्ड
  • ContainsText, जो इंगित करता है क्लिपबोर्ड वर्तमान में पाठ
+0

समस्या क्लिपबोर्ड तक पहुंच प्राप्त नहीं करना है, लेकिन जब उपयोगकर्ता 'पेस्ट-फ़ंक्शन' का उपयोग करता है तो पहुंच प्राप्त करने के लिए। – eflles

6
if (e.Key == Key.V) 
{ 
    if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) 
    { 
     //do what you want on paste 
    } 
} 
शामिल हैं, इस पर पाठ स्थानों से पाठ को पुन: प्राप्त

आपको इसे कुंजीअप ईवेंट पर उपयोग करना होगा। अधिक जानकारी यहां मिल सकती है: http://msdn.microsoft.com/en-us/library/cc189015%28VS.95%29.aspx

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