2011-03-17 12 views
37

निम्नलिखित दो के बीच क्या अंतर है?{x: शून्य} बनाम पारदर्शी?

Background="{x:Null}" 

और

Background="Transparent" 
+1

यह एक स्ट्रिंग 'नल' बनाम' स्ट्रिंग सेट करने जैसा है। लक्षण '। 'शून्य' इसे शुरू नहीं करेगा। 'स्ट्रिंग। लक्षण' इसे आरंभ करेगा लेकिन कुछ भी नहीं डालेगा। ब्रश के लिए वही। 'x: null' का अर्थ है 'शून्य' और 'पारदर्शी' का मतलब किसी भी रंग के साथ शुरू नहीं हुआ है और निश्चित रूप से अन्य इंगित क्लिक कार्यक्षमता के रूप में। –

उत्तर

42

Transparent एक ब्रश कि एक पारदर्शी रंग को आरंभ नहीं हो जाता पैदा करेगा, अशक्त अशक्त करने के लिए संपत्ति कर देगा, जिसका अर्थ यह है कि गंतव्य संपत्ति एक ब्रश संलग्न नहीं है। डब्ल्यूपीएफ में एक तत्व को ब्रश सेट करना अक्सर महत्वपूर्ण होता है। यदि आप उदाहरण के लिए किसी तत्व में माउस डाउन को ट्रैक करना चाहते हैं, तो आपको पृष्ठभूमि सेट करनी होगी। यदि आप ठोस रंग सेट नहीं करना चाहते हैं (इसे अपारदर्शी बनाएं), तो आप एक पारदर्शी ब्रश का उपयोग कर सकते हैं। यह स्ट्रिंग मान "पारदर्शी" के साथ किया जा सकता है।
अंतर इस तरीके से निहित है, संपत्ति कैसे निर्धारित की जाएगी। यदि आप ब्रश-प्रॉपर्टी के लिए शून्य निर्दिष्ट करते हैं, तो संपत्ति वास्तव में शून्य हो जाएगी। यदि आप स्ट्रिंग "पारदर्शी" सेट करते हैं, तो डिफ़ॉल्ट value-converter जो स्ट्रिंग से ब्रश को परिवर्तित करता है, इसे Brushes.Transparent ब्रश में परिवर्तित करता है।

लघु संस्करण: {x:Null} गंतव्य संपत्ति को शून्य में सेट करता है। "पारदर्शी" गंतव्य संपत्ति को पारदर्शी ब्रश पर सेट करता है।

+14

पारदर्शी पृष्ठभूमि होने से नियंत्रण/अन्य घटनाओं पर नियंत्रण अपारदर्शी हो सकता है। यानी आप पारदर्शी पृष्ठभूमि के माध्यम से एक और नियंत्रण देख सकते हैं, लेकिन घटनाओं पर क्लिक करने से इसे नहीं बनाया जाएगा। यह एक शून्य पृष्ठभूमि के विपरीत है, जो घटनाओं को अंतर्निहित नियंत्रण के माध्यम से जाने देगा। –

+0

@Kent +1 उसे नहीं पता था। 000000 और एफएफएफएफएफएफ के बीच मूल्यों के साथ क्या है? –

8

{x:Null} क्लिक करने योग्य नहीं होगा, Transparent होगा। जब पृष्ठभूमि पर क्लिक Transparent पृष्ठभूमि के साथ

Also see this.

4

तत्वों माउस क्लिक घटनाओं प्राप्त करते हैं, Null साथ तत्व नहीं है।

21

संपत्ति के स्थानीय मूल्य दोनों सेट कर रहे हैं। पूर्व इसे null पर सेट करता है और बाद में इसे Brushes.Transparent पर सेट करता है।

महत्वपूर्ण बिंदुओं की एक जोड़ी के बारे में पता होना करने के लिए कर रहे हैं:

  • null के लिए मूल्य निर्धारित करना नहीं स्थापित बिल्कुल नहीं के समान है। चूंकि निर्भरता गुण उनके प्रभावी मूल्य from multiple sources प्राप्त करते हैं, स्थानीय मान सेट करते हैं (भले ही यह null है) शैली या एनीमेशन जैसे अन्यत्र से संभावित रूप से सोर्स किए गए मानों पर प्राथमिकता ले सकते हैं।
  • हिट टेस्ट दृश्यता को नियंत्रित करने के लिए एक और विकल्प IsHitTestVisible संपत्ति है। यह संपत्ति ब्रश के बावजूद हिट टेस्ट दृश्यता को नियंत्रित करने की अनुमति देती है जिसके साथ UIElement प्रस्तुत किया जाता है।
+0

'00000000' पर दिलचस्प नोट। काले और सफेद के बीच मूल्यों के बारे में क्या। '# 00AAAAAA' परीक्षण दृश्य हिट होगा।और इस तरह के अंतर में क्या बात है, मैं इसे किसी भी समझ में देखता हूं। – Snowbear

+0

+1 # 00000000 – HCL

+0

+1 के अतिरिक्त के लिए। मुझे लगता है कि यह जवाब स्वीकार किया जाना चाहिए! – Nawaz

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