मेरे पास एक संदेश है जो सीमा के भीतर है और एमडीआई ग्राहक क्षेत्र के सामने प्रदर्शित होता है। क्योंकि यह सिर्फ एक संदेश है, मैंने इसे IsHitTestVisible
को गलत पर सेट किया है। सुविधा के लिए, मैंने इसके अंदर एक बटन भी शामिल किया है ताकि उपयोगकर्ता एक नया आरेख शुरू करने के लिए बस बटन पर क्लिक कर सके।आप किसी चीज़ के बच्चे पर IsHitTestVisible को True पर कैसे सेट कर सकते हैं जहां यह गलत है?
हालांकि, सीमा के पास IsHitTestVisible
False
पर सेट है, यह बटन के True
मान को शॉर्ट्स करता है ताकि उपयोगकर्ता बटन पर क्लिक न कर सके।
उसने कहा, आप माउस के लिए एक अदृश्य नियंत्रण कैसे बना सकते हैं, जबकि अभी भी अपने बच्चों में से एक को माउस ईवेंट प्राप्त करने की इजाजत है?
यहाँ एक स्क्रीनशॉट:
हम चाहते हैं कि पाठ के साथ नीले क्षेत्र मारा परीक्षण किया जाना है अदृश्य है, लेकिन हम चाहते हैं बटन अभी भी दबाया जा करने में सक्षम हो। विचार? (और हाँ, मैं पहले से ही एक ग्रिड में दो आइटम stacking के बारे में पता है, लेकिन है कि लेआउट के साथ छेड़छाड़ न।
मुझे लगता है कि आपको 'ग्रिड' का उपयोग करके अपने लेआउट को ठीक करने के बारे में और अधिक भाग्य मिलेगा, जिसमें आप एक दूसरे पर खड़े दो नियंत्रणों के साथ 'IsHitTestVisible = true' सेट करने का तरीका ढूंढेंगे, लेकिन किसी भी तरह से हिट परीक्षणों को अनुमति दें एक बच्चा आइटम आपके पास किस प्रकार का लेआउट है? – Rachel
आप अपने UIElement के साथ हिट व्यवहार निर्धारित करने के लिए HitTestCore को ओवरराइड कर सकते हैं (ऐसा लगता है कि आपने UserControl बनाया है) ...... लेकिन राहेल की तरह कहते हैं ... ग्रिड या विभिन्न लेआउट का उपयोग करें। –
हाँ, मेरे पास पहले से ही हल्का वजन वाला नियंत्रण है जिसे लेयरपैनल कहा जाता है जो चीजों को एक-दूसरे के ऊपर ढेर करता है। सभी मापों को ग्रिड से बाहर कर देता है, जो प्रदर्शन में कुख्यात रूप से खराब है। फिर भी, मुझे चीजों को ले जाने से नफरत है, क्योंकि तब जब टेक्स्ट स्थानीयकरण के लिए बदलता है, तो यह लेआउट को धक्का देता है और अब आपको कुछ अनचाहे कुछ के सामने कुछ संरेखित करने की चिंता करने की ज़रूरत है। मज़ा नहीं। करने योग्य, लेकिन मजेदार नहीं। – MarqueIV