2016-02-07 9 views
6

जब मैंने अपनी खिड़की को डिस्प्ले के किनारे या कोने से संरेखित करने का प्रयास किया, तो मुझे पता चला कि स्क्रीन के किनारे और मेरी खिड़की के किनारे के बीच कुछ प्रकार की पैडिंग है। मैं टेम्पलेट से नया WPF प्रोजेक्ट बनाया, निर्माता में केवल दो लाइनें शामिल करने और इस मिला था:डब्ल्यूपीएफ और विन्डोज़ 10. खिड़कियों के आस-पास अदृश्य सीमा?



क्यों यह स्क्रीन के किनारे करने के लिए फिट नहीं है? एक ही समस्या जब मैं इस तरह सही नीचे कोने में विंडो डाल करने के लिए प्रयास करें:

Rect workArea = SystemParameters.WorkArea; 
Left = workArea.Location.X + workArea.Width - Width; 
Top = workArea.Location.Y + workArea.Height - Height; 

ऐसा लगता है कि खिड़की की तरह 7px सीमा (बस Win7 की तरह) लेकिन win10 पर अदृश्य है। इसके अलावा मैंने पाया कि यदि मैं WindowStyle से WindowStyle.None और ResizeMode से ResizeMode.NoResize दोनों सेट करता हूं, तो सिस्टम विंडो को सही तरीके से रखता है, लेकिन यह मेरी आवश्यकता नहीं है। Win7 पर एक ही प्रोग्राम अपेक्षित काम करता है।

cource के मैं Left संपत्ति को -7 पर सेट कर सकता हूं, लेकिन यह कोई समाधान नहीं है। मैं विंडो स्थान को सही ढंग से कैसे सेट कर सकता हूं, ताकि यह Win7 और win10 दोनों पर अच्छा लगेगा?

+0

सही नीचे मामले के मामले में आपने वास्तविक विवाद और वास्तविक मूल्य गुण (प्रदर्शन के बाद) की कोशिश की है? –

+0

@KyloRen yes, परिणाम एक ही है – BlackOverlord

+0

"यह .Left = 0 - SystemParameters.ResizeFrameVerticalBorderWidth - SystemParameters.FixedFrameVerticalBorderWidth;" विंडो 10 पर प्रोग्रामिंग बिंदु दृश्य से उपयोग किया जा सकता है। अन्यथा आपको ChromeWindow क्लास का उपयोग करना होगा। –

उत्तर

5

बाएं/दाएं/नीचे की आकार बदलने योग्य सीमा अब विंडोज 10 पर अदृश्य है, और वह सीमा वह जगह है जहां वह अंतर है। यदि आप स्क्रीन के बीच में विंडो डालते हैं, और अपने माउस को विंडो के बाएं किनारे पर खींचें, तो आप विंडो के किनारे के पीछे 8 पिक्सल के लिए कर्सर को आकार बदलने वाले कर्सर में बदल देंगे। यह आपको बताता है कि सीमा अभी भी मौजूद है।

आप पैरामीटर के साथ सामान्य GetWindowRect फ़ंक्शन के संयोजन और DwmGetWindowAttribute फ़ंक्शन के उपयोग का उपयोग करके ऑफसेट प्राप्त कर सकते हैं।

1

वे मेट्रिक्स को वही छोड़ देते हैं (उदाहरण के लिए, रजिस्ट्री में पैडडबॉर्डरविड्थ अभी भी -60 है), और पूरी तरह थीम ("एरो") में स्पष्ट आकार का हैंडल प्राप्त करें। यह कांच नहीं है, यह कार्यालय 2013 को प्रस्तुत करने के तरीके से बिल्कुल स्पष्ट है। आपका आवेदन सचमुच विंडोज 7 और 10 दोनों पर एक ही पिक्सेल निर्देशांक पर आकर्षित करेगा, केवल विंडोज 7 में उस अंतर को भरने वाले ग्लास प्रभाव होंगे।

+0

ठीक है, क्या यह जानना संभव है कि क्या विंडोज ग्लास प्रभाव (और इसकी चंचलता) है या उस बदसूरत अंतर से बचने के लिए नहीं? – BlackOverlord

+0

किसी भी माध्यम से मुझे पता नहीं है। चूंकि सीमा के आकार को थीम द्वारा लागू किया जा रहा है और रजिस्ट्री में विंडोमेट्रिक्स नहीं है, इसलिए मुझे नहीं लगता कि आप यह निर्धारित करने के लिए भी पूछ सकते हैं। पहली बात जो दिमाग में आती है वह केवल कई पिक्सेल द्वारा स्थानांतरित होती है जब विंडोज संस्करण 10 या उससे अधिक के रूप में पता चला है। – CmdrKeene

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