2012-08-28 36 views
5

मैं यह नहीं समझ सकता कि सामग्री को मुख्य विंडो के साथ आकार बदलने की अनुमति देते हुए मेरे एप्लिकेशन के आकार को कैसे नियंत्रित किया जाए। यह एक डब्ल्यूपीएफ ऐप है और मैं कैलिबर्न माइक्रो (व्यूमोडेल पहले) का उपयोग कर रहा हूं और मेरे सभी विचार उपयोगकर्ता नियंत्रण हैं।सामग्री को मुख्य विंडो के साथ आकार बदलने की अनुमति देते हुए wpf/caliburn.micro ऐप का आकार सेट करना।

मैं मुख्य दृश्य उपयोगकर्ता नियंत्रण (मुख्य रूप से एक ग्रिड जिसमें अपने स्वयं के दृश्य मॉडल के साथ अन्य उपयोगकर्ता नियंत्रण शामिल हैं) पूरे एप्लिकेशन मुख्य विंडो क्षेत्र को फैलाने और भरने के लिए चाहते हैं। तो मैंने स्ट्रेच के मुख्य दृश्य पर क्षैतिज एलाइनमेंट और वर्टिकल एलाइनमेंट सेट किया है। लेकिन यह काम नहीं करता है जैसा मैं चाहता हूं।

यदि मैं कुछ मूल्य के लिए मुख्य दृश्य पर ऊंचाई & सेट करता हूं, तो यह मुझे एप्लिकेशन मुख्य विंडो के आकार को नियंत्रित करने की अनुमति देता है, लेकिन दृश्य को आकार दिया जाएगा और मुख्य विंडो के साथ आकार बदल नहीं जाएगा।

यदि मैं ऊँचाई & ऑटो पर मुख्य दृश्य पर चौड़ाई सेट करता हूं, तो एप्लिकेशन विंडो का आकार मुख्य दृश्य के आकार में समायोजित होगा, न कि दूसरी तरफ।

मुझे क्या चाहिए कि एप्लिकेशन विंडो की सामग्री (खिड़की स्वचालित रूप से कैलिबर्न द्वारा बनाई गई है। मुख्य दृश्य के लिए माइक्रोक्रो) एप्लिकेशन विंडो को भरने के लिए फैली हुई है, जिसका आकार मैंने किसी भी तरीके से सेट किया है पता कैसे करें।

आशा है कि आप मदद कर सकते हैं, मैं अटक गया हूँ!

उत्तर

0

आपके बच्चे के नियंत्रण के लिए सेट की गई ऊंचाई और चौड़ाई को हटाएं & UIElement.CliptoBounds प्रॉपर्टी का उपयोग करें और इसे सही पर सेट करें।

http://msdn.microsoft.com/en-us/library/system.windows.uielement.cliptobounds.aspx

+0

लेकिन उस को नियंत्रित करता है कैसे तत्वों काटा जाता है:

अपने Bootstrapper के OnStartup समारोह में, आप बस के रूप में नीचे किया DisplayRootViewFor समारोह में Width, Height और SizeToContent.Manual सेटिंग्स निर्धारित करने की जरूरत है। यह मेरी मुख्य समस्या नहीं है। स्टार्टअप के बाद ऐप के साथ आकार बदलने के लिए मुख्य दृश्य में ग्रिड को अनुमति देने के दौरान मैं ऐप का समग्र स्टार्टअप आकार कैसे सेट करूं? – Liell

+0

http://stackoverflow.com/questions/36108/how-to-get-controls-in-wpf-to-fill-available-space – Rauld

9

मुझे पता है इस सवाल का बहुत पुराना है और शायद Caliburn.Micro v1 को संदर्भित करता है, लेकिन सिर्फ किसी और मामले में किसी को तरह मुझे साथ आता है, यहाँ Caliburn.Micro वी 2 के लिए समाधान है।

protected override void OnStartup(object sender, StartupEventArgs e) 
{ 
    var settings = new Dictionary<string, object> 
    { 
     { "SizeToContent", SizeToContent.Manual }, 
     { "Height" , 600 }, 
     { "Width" , 1024 }, 
    }; 

    DisplayRootViewFor<IShell>(settings); 
} 
+1

धन्यवाद - सेटिंग्स SizeToContent चाल करना प्रतीत होता था! – Govert