2010-04-24 12 views
14

मैं एक WPF विंडो बनाने की कोशिश कर रहा हूं जिसमें पूरे डेस्कटॉप कार्यक्षेत्र को शामिल किया जाएगा। WinForms में मैं System.Windows.Forms.Screen.AllScreens में सभी सीमाओं का संघ प्राप्त करके ऐसा करूँगा।क्या सिस्टम के लिए एक WPF समतुल्य है। Windows.Forms.Screen?

क्या WPF में पूरे डेस्कटॉप की सीमाएं प्राप्त करने के लिए समकक्ष प्रकार या अन्य तंत्र है या क्या मुझे WinForms प्रकार का उपयोग करने की आवश्यकता है?

उत्तर

9

सिस्टम पैरामीटर का प्रयास करें। वर्चुअलस्क्रीन * (शीर्ष, बाएं, ऊंचाई, और चौड़ाई) गुण। http://msdn.microsoft.com/en-us/library/system.windows.systemparameters.virtualscreenheight(v=VS.100).aspx

Winforms एपीआई का उपयोग न करें क्योंकि यह इस तथ्य को ध्यान में रखता है कि डब्ल्यूपीएफ की माप इकाइयां पिक्सल नहीं हैं। मैं हाल ही में इस मुद्दे पर आया क्योंकि मैं अपनी दृष्टि खो रहा हूं और मेरा मॉनिटर एक उच्च डीपीआई पर सेट है। कोडबेस मैं विनफॉर्म सेटिंग्स का उपयोग करने पर काम कर रहा था और यूआई मेरी स्क्रीन से बड़ा था।

यदि आप Winforms api का उपयोग करने जा रहे हैं। calculating the DPI factor पर इस ब्लॉग पोस्ट को देखें।

4

बस WinForms का उपयोग करें। मुझे नहीं लगता कि एक प्रत्यक्ष WPF समकक्ष है।

+1

गलत देखते हैं WPF मैं अगर कुछ निर्देशांक, WPF में किसी भी स्क्रीन पर मौजूद इन में के रूप में जांच करने के लिए की जरूरत समकक्ष। मेरी प्रतिक्रिया देखें। –

+9

ओह? क्या डब्ल्यूपीएफ हमें व्यक्तिगत रूप से प्रत्येक मॉनिटर के बारे में बता सकता है? क्या डब्ल्यूपीएफ आपको बता सकता है कि एक स्क्रीन किस स्क्रीन पर है (जैसे स्क्रीन.फ्रॉम कंट्रोल()?) – Qwertie

+3

क्या होगा यदि आपके पास समान आकार वाले एकाधिक मॉनीटर हैं? क्या इसे संभालने के लिए कोई समकक्ष है? और क्वर्टी ने उल्लेख किया कि यह कौन सी स्क्रीन है? – Marek

1

आप सिस्टम पैरामीटर का प्रयास कर सकते हैं। वर्चुअलस्क्रीनविड्थ और संबंधित पैरामीटर। यह WinForms API के साथ जारी रखने के परिणामस्वरूप उतना अच्छा नहीं प्रदान कर सकता है।

WinForms प्रकार के साथ मैं देख सकता हूं कि एकमात्र नकारात्मक पक्ष एक अतिरिक्त निर्भरता और उससे संबंधित बड़े कार्य सेट है।

4

मैं सफलतापूर्वक 0.3.0.0 WpfScreenHelper, वर्तमान में Github या Nuget पर, का इस्तेमाल किया है https://github.com/micdenny/WpfScreenHelper

यह क्या .NET फ़्रेमवर्क तो कई साल पहले किया जाना चाहिए है।

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