डब्ल्यूपीएफ: टेक्स्टबॉक्स के डिफ़ॉल्ट कॉन्टेक्स्टमेनू को स्टाइल या अक्षम कैसे करें

स्पष्ट रूप से जब उपयोगकर्ता हमारे डब्ल्यूपीएफ एप्लिकेशन में राइट-क्लिक करते हैं, और वे विंडोज क्लासिक थीम का उपयोग करते हैं, तो टेक्स्टबॉक्स (जिसमें कॉपी, कट और पेस्ट शामिल है) का डिफ़ॉल्ट कॉन्टेक्स्टमेनू एक काला पृष्ठभूमि है।

मुझे पता है कि यह अच्छी तरह से काम करता है:



  


लेकिन यह काम नहीं करता है:





 


  
 

क्या किसी को पता है कि wpf में सभी टेक्स्टबॉक्स के लिए डिफ़ॉल्ट ContextMenu को स्टाइल या अक्षम कैसे करें?

0
ro fr bn
आपको अक्षम शॉर्टकट कुंजियों पर विचार करने की आवश्यकता नहीं है, उदा। CTRL-V?
जोड़ा लेखक Carlos Liu, स्रोत

5 उत्तर

एक्स को हटाने का प्रयास करें: स्टाइल संसाधन से मुख्य विशेषता, लक्ष्य टाइप छोड़कर। मुझे पता है, आपको लगता है कि एक्स: संसाधन के लिए कुंजी है, लेकिन यदि आपके पास अपने लक्ष्य टाइप के साथ कुंजी है तो कुंजी प्रचलित है।

यहां एक नमूना शैली है जिसका उपयोग मैं अपने ऐप्स में से किसी एक में सभी टूलटिप्स को त्वचा के लिए उपयोग करने के लिए करता हूं (यह ऐप में है। स्रोत - नोटिस, कोई कुंजी नहीं)

 
0
जोड़ा

कोई फर्क नहीं पड़ता, अगर आप कोई कुंजी प्रदान नहीं करते हैं, तो यह targetType का उपयोग उसी तरह के रूप में करेगा जैसा मेरा उदाहरण उपयोग करता है :)

स्टाइल पर एमएसडीएन से लिया गया:

Setting the TargetType property to the TextBlock type without setting an x:Key implicitly sets the x:Key to {x:Type TextBlock}. This also means that if you > > give the above Style an x:Key value of anything other than {x:Type TextBlock}, the Style would not be applied to all TextBlock elements automatically. Instead, you need to apply the style to the TextBlock elements explicitly.

http://msdn.microsoft.com/en- हमें/पुस्तकालय/system.windows.style.targettype.aspx

0
जोड़ा

देर से बग रिपोर्ट के कारण हमने पाया कि हम एप्लिकेशनकॉन्ड्स कट पेस्ट का उपयोग नहीं कर सकते हैं और सीधे आंशिक भरोसेमंद एप्लिकेशन में कॉपी कर सकते हैं। इसके लिए, इन आदेशों का उपयोग आपके नियंत्रण के किसी भी कमांड में निष्पादित होने पर बिल्कुल कुछ नहीं करेगा।

तो संक्षेप में ब्रैड का जवाब लगभग वहां था, यह निश्चित रूप से सही तरीके से देखा गया था यानी कोई काला पृष्ठभूमि नहीं, लेकिन समस्या को ठीक नहीं किया।

हमने ब्रैड उत्तर के आधार पर मेनू को "निकालने" का निर्णय लिया, जैसे:


और इस रिक्त संदर्भ मेनू का उपयोग इस प्रकार करें:


0
जोड़ा
या आप का उपयोग कर सकते हैं, जो भी काम करता है।
जोड़ा लेखक joedotnot, स्रोत
इसके अतिरिक्त, कॉन्टेक्स्टमेनू पर IsEnabled को false पर सेट करने पर फोकस "ठंड" के मुद्दे से बचा जाता है जब उपयोगकर्ता राइट क्लिक करने का प्रयास करता है।
जोड़ा लेखक James M, स्रोत

सभी टेक्स्टबॉक्स के लिए ContextMenu शैली बनाने के लिए, मैं निम्न की तरह कुछ करता हूं:

First, in the resources section, add a ContextMenu which you plan to use as your standard ContextMenu in a textbox.
e.g.


  
  
  

दूसरा, अपने टेक्स्टबॉक्स के लिए एक शैली बनाएं, जो संदर्भ मेनू संसाधन का उपयोग करता है:


अंत में, सामान्य रूप से अपने टेक्स्ट बॉक्स का उपयोग करें:


यदि इसके बजाय आप इस संदर्भ मेनू को केवल अपने कुछ टेक्स्टबॉक्स पर लागू करना चाहते हैं, तो ऊपर की शैली न बनाएं, और अपने टेक्स्टबॉक्स मार्कअप में निम्न जोड़ें:


उम्मीद है की यह मदद करेगा!

0
जोड़ा
मुझे एक बग पर ठोकर खाने के लिए खेद है .. मुझे कभी एहसास नहीं हुआ, लेकिन मैं आंशिक ट्रस्ट में सीधे एप्लीकेशन कॉमांड कट, कॉपी और पेस्ट का उपयोग नहीं कर सकता .. यह मेनू आंशिक विश्वास के तहत काम नहीं करेगा। मेनू आइटम पर क्लिक करना, बिल्कुल कुछ नहीं करता .. मुझे खेद है कि यह खोजने में लगभग 18 महीने लग गए;)
जोड़ा लेखक Arcturus, स्रोत
आपके उत्तर ने मुझे अपने नए समाधान के लिए नेतृत्व किया है: मेनू को खाली मेनू से अक्षम करना .. फिर भी धन्यवाद, आपके उत्तर के लिए!
जोड़ा लेखक Arcturus, स्रोत

विचित्र। ContextMenu = "{x: Null}" चाल नहीं करता है।

यह करता है, हालांकि:


    
    

0
जोड़ा