WPF

2009-06-11 41 views
14

में एक पारदर्शी में अपारदर्शी तत्व मेरे आवेदन में मैं एक पारदर्शी खिड़की रखना चाहता हूं लेकिन पूरी तरह से अपारदर्शी बच्चे नीचे नियंत्रण करते हैं। हालांकि, डब्ल्यूपीएफ सभी बच्चों को पारदर्शी बनाता है।WPF

नीचे XAML देखें। ग्रिड सेमी-पारदर्शी 50% अपेक्षित है लेकिन इसमें आयताकार त्रिभुज नहीं है, अपारदर्शी भी अस्पष्टता = "1" सोचा। क्या इसे प्राप्त करने का कोई तरीका है?

<Window x:Class="WpfApplication10.Window1" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="Window1" AllowsTransparency="True" Height="300" ResizeMode="NoResize" Width="300" WindowStyle="None" Background="Transparent" > 

    <Border BorderBrush="black" BorderThickness="7" CornerRadius="10"> 
     <Grid Background="Red" Opacity="0.5"  > 

     <Rectangle Width="100" Height="100" Fill="white" Opacity="1"/> 

    </Grid> 
    </Border></Window> 

धन्यवाद, cellik

उत्तर

19

कारण है कि अपने आयत पूरी तरह से अपारदर्शी है क्योंकि अपने कंटेनर (ग्रिड) .5 के एक अस्पष्टता है, और अस्पष्टता बच्चे वस्तुओं के लिए विरासत में मिला हो जाता है नहीं है।

<Grid Background="#66ff0000"> 

यह आपको एक अर्द्ध पारदर्शी ग्रिड और एक पूरी तरह से अपारदर्शी आयत देना चाहिए:

इसके बजाय, कुछ की तरह अर्द्ध पारदर्शी करने के लिए ग्रिड की पृष्ठभूमि ब्रश बदल कर देखें।

+0

धन्यवाद, यह उत्तर वास्तव में काम करता है! – ariso

+0

आयताकार पूर्ण अपारदर्शी है क्योंकि रंग 'सफेद' है। उदाहरण के लिए रंग लाल रंग में बदल जाता है, लाल लाल 100% अस्पष्टता नहीं है। क्या आपके पास 100% लाल आयत प्राप्त करने का समाधान है? –

+0

जब तक ग्रिड पर अस्पष्टता निर्दिष्ट नहीं है, तब तक इसे 100% लाल आयताकार के साथ भी काम करना चाहिए। ध्यान दें कि परिवर्तन ग्रिड के लिए है, न कि आयताकार टैग। – micahtan

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