2012-09-28 23 views
19

मैं जानना चाहता था कि मैं आंतरिक बाल नियंत्रण को प्रभावित किए बिना WPF विंडो की पृष्ठभूमि की अस्पष्टता कैसे बदल सकता हूं। जब मैं विंडो प्रॉपर्टी 'ओपेसिटी' को 0.5 में बदलता हूं तो मुझे अर्ध-पारदर्शी विंडो मिलती है, लेकिन खिड़की के अंदर की छवि को 0.5 अस्पष्टता मान भी मिला है, तो मैं केवल खिड़की के लिए अस्पष्टता कैसे बना सकता हूं?सामग्री अस्पष्टता को बदलने के बिना पृष्ठभूमि अस्पष्टता बदलें

+0

बस आपसे सदस्यता लेना यह देखने के लिए सवाल है कि यह संभव है या नहीं, मुझे लगता है कि यह नहीं है, लेकिन बस मामले में। क्या आपने इसे "पारदर्शी" रंग में सेट करने की कोशिश की है और उदाहरण के लिए, एक अर्ध-पारदर्शी आयताकार जो आपकी शेष वस्तुओं को प्रभावित नहीं करता है? – NestorArturo

उत्तर

30

खिड़की सब कुछ का मूल कंटेनर है ताकि खिड़की पर अस्पष्टता स्थापित करने से इसमें सबकुछ प्रभावित हो जाएगा। मुझे लगता है कि आप क्या करना चाहते हैं Window.Background के Opacity को बदलें।

पारदर्शिता करने के लिए विंडो को सक्षम करने में कुछ चीजें शामिल की जाएंगी। सबसे पहले, आपको Window.AllowsTransparency = True सेट करना होगा और Window.WindowStyle = None भी सेट करना होगा। WindowStyle.None खिड़की क्रोम में न्यूनतम, अधिकतम, और बंद बटन के बिना एक विंडो बनाता है, इसलिए आपको विंडो में आकार बदलने और स्थानांतरित करने के साथ ही एप्लिकेशन में इसे संभालना होगा। ऐसा करने के बाद, आप Window.Background पर Opacity पर ब्रश रखने के लिए सेट कर सकते हैं।

निम्नलिखित कोड नमूना आपको दिखाएगा कि खिड़की हमेशा पारदर्शी कैसे हो और विंडो पृष्ठभूमि की अस्पष्टता को एक अलग अस्पष्टता के लिए सेट करें।

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     x:Class="WpfApplication1.MainWindow" 
     x:Name="Window" 
     WindowStyle="None" 
     AllowsTransparency="True"> 
    <Window.Background> 
     <SolidColorBrush Color="White" Opacity="0.5"/> 
    </Window.Background> 
    <Grid> 
     <!--Window Content--> 
    </Grid> 
</Window> 

यदि आप विंडो में तत्वों को दिखाना चाहते हैं तो आप हमेशा विंडो पृष्ठभूमि को पारदर्शी पर सेट कर सकते हैं।

+0

मैं शैली टेम्पलेट्स के साथ काम कर रहा हूँ। इसे संपत्ति सेटटर के साथ काम करने के लिए, मैंने अपने पृष्ठभूमि-रंग का अल्फा वांछित अस्पष्टता स्तर पर सेट किया है और बैकग्राउंड सेटर में पृष्ठभूमि आरजीबी कोड कॉपी किया है। :) अच्छी तरह से काम! – C4u