क्या कोई जानता है कि मैं स्क्रीन के केंद्र में पॉपअप नियंत्रण कैसे रख सकता हूं?सी #/डब्ल्यूपीएफ: स्क्रीन के केंद्र में पॉपअप नियंत्रण रखें?
धन्यवाद!
क्या कोई जानता है कि मैं स्क्रीन के केंद्र में पॉपअप नियंत्रण कैसे रख सकता हूं?सी #/डब्ल्यूपीएफ: स्क्रीन के केंद्र में पॉपअप नियंत्रण रखें?
धन्यवाद!
प्लेसमेंट और प्लेसमेंट लक्ष्य गुणों का उपयोग विंडो के रूट पर जो भी पैनल है उससे संबंधित स्थिति के लिए करें।
<Popup
PlacementTarget="{Binding ElementName=MainPanel}"
Placement="Center"
>
सबसे पहले, आप स्क्रीन की ऊंचाई और चौड़ाई प्राप्त करने के लिए System.Windows.SystemParameters
कक्षा के , FullPrimaryScreenWidth
के स्थिर गुणों का उपयोग कर सकते हैं। फिर, आप इसे दिखाने से पहले चौड़ाई और ऊंचाई का उपयोग करके अपने पॉपअप नियंत्रण के Top
और Left
गुणों को सेट कर सकते हैं।
कुछ पसंद है।
double primScreenHeight = System.Windows.SystemParameters.FullPrimaryScreenHeight;
double primScreenWidth = System.Windows.SystemParameters.FullPrimaryScreenWidth;
_yourControl.Top = (primScreenHeight - _yourControl.Height)/2;
_yourControl.Left = (primScreenWidth - _yourControl.Width)/2;
उपयोग कंटेनर के रूप में ग्रिड और संरेखण आप के लिए ठीक काम करेगा:: तो अगर मैं एक Grid
, StackPanel
, आदि उस खिड़की MainPanel
कहा जाता है में अन्य सभी "सामान" शामिल है, मैं की तरह कुछ करना
<Popup IsOpen="True">
<Grid Name="canvasMain">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
...
</StackPanel>
</Grid>
</Popup>
इतना आसान नहीं होगा लेकिन पूरी तरह से काम करता है – BastanteCaro
मैंने कोशिश की और यह काम नहीं करता है। ऐसा लगता है कि यह पॉपअप की सामग्री को केंद्रित करता है, न कि पॉपअप स्वयं। –
इनमें से कोई भी जवाब मेरे लिए काम नहीं करता क्योंकि मेरे पास पॉपअप का आकार नहीं है। मैंने निम्नानुसार कोड में इसे समाप्त कर दिया:
var popup = new Popup
{
Child = new YourUIControlHere(),
Placement = PlacementMode.Center,
PlacementRectangle = new Rect(new Size(
SystemParameters.FullPrimaryScreenWidth,
SystemParameters.FullPrimaryScreenHeight))
};
यह आसानी से स्क्रीन आकार के लिए बाध्यकारी जोड़कर XAML तक बढ़ाया जा सकता है।
बहु-मॉनीटर समर्थन के लिए वर्तमान स्क्रीन का उपयोग करना एक स्पष्ट वृद्धि है। वर्तमान विंडो आयाम प्राप्त करना काफी अधिक काम है।
यह मेरे लिए सही समाधान था! –
और यदि आप नेस्टेड उपयोगकर्ता-नियंत्रण की श्रृंखला का उपयोग करते हैं ???? – landoncz
प्रश्न स्क्रीन के केंद्र के लिए था, पैनल या खिड़की का केंद्र नहीं। –
यह सवाल का जवाब नहीं देता है। यह स्क्रीन के बीच में पॉपअप के शीर्ष बाएं कोने को रखेगा, यह पॉपअप – Brandon