2013-07-25 10 views
7

मैं डब्ल्यूपीएफ में एक स्क्रीनसेवर लिख रहा हूं। मेरे पास स्क्रीनसेवर काम कर रहा है, हालांकि, यह केवल मेरे मुख्य मॉनीटर पर प्रदर्शित होता है। क्या उपयोगकर्ता के पास एकाधिक डिस्प्ले होने पर "ब्लैक आउट" या ग्राफिक्स को अतिरिक्त मॉनीटर पर आकर्षित करने का कोई तरीका है? मैंने कुछ खोज किया है, लेकिन कुछ भी प्रासंगिक नहीं मिला है।डब्ल्यूपीएफ: एकाधिक स्क्रीन

<Window x:Class="ScreenSaver.BlackOut" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Cursor="None" WindowStyle="None" ResizeMode="NoResize" Background="Black"> 
</Window> 

और प्रत्येक स्क्रीन के लिए एक आरंभ:

अद्यतन

नीचे ananthonline के जवाब से, मैं निम्नलिखित विंडो का उपयोग गैर-प्राथमिक प्रदर्शित करता है पर "ब्लैक आउट" प्रभाव को पूरा करने में सक्षम था App.xaml.cs में उपयोग करते हुए निम्नलिखित प्रक्रिया:

foreach (Screen s in Screen.AllScreens) 
{ 
    if (s != Screen.PrimaryScreen) 
    { 
     BlackOut blackOut = new BlackOut(); 
     blackOut.Top = s.WorkingArea.Top; 
     blackOut.Left = s.WorkingArea.Left; 
     blackOut.Width = s.WorkingArea.Width; 
     blackOut.Height = s.WorkingArea.Height; 
     blackOut.Show(); 
    } 
} 

नोटको एक आयातकक्षा तक पहुंचने के लिएआवश्यक है।

उत्तर

3

आपको प्रत्येक स्क्रीन पर एकाधिक विंडो सेट अप करने के लिए सिस्टम का उपयोग करने में सक्षम होना चाहिए। ड्रॉइंग .स्क्रीन। * कक्षाएं। ध्यान दें कि आप प्रत्येक विंडो को अधिकतम करने के लिए सेट नहीं करते हैं, लेकिन एक उचित आकार, सीमा कम खिड़की।

इसके अलावा - आप यह याद रखना चाहेंगे कि बहु मॉनिटर सेटअप की कुल सीमा हमेशा एक आयताकार नहीं हो सकती है (यदि आप सभी मॉनीटरों को फैलाने वाली विंडो बनाने के लिए सभी सीमाओं को "संघ" करने की योजना बनाते हैं)।

+0

धन्यवाद, बिल्कुल मुझे क्या चाहिए। –

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