मैं अपेक्षित रूप से काम करने के लिए ऊर्ध्वाधर खिंचाव बनाने की कोशिश कर रहा हूं, लेकिन कुछ कारणों से यह केवल उस स्थान को लेता है, जहां स्थान की आवश्यकता होती है, न कि स्थान उपलब्ध है।डब्ल्यूपीएफ, उम्मीद के अनुसार वर्टिकलस्ट्रेच काम कर रहा है!
सबसे पहले, मैं सी # और प्रिज्म के साथ डब्ल्यूपीएफ का उपयोग कर रहा हूं।
Shell.xaml (एप्लिकेशन के लिए मुख्य xaml) में मेरे पास 2 कॉलम और एक पंक्ति वाला ग्रिड है। विचार एक साइड पैनल और एक मुख्य ऐप क्षेत्र होना है। मुख्य ऐप क्षेत्र ग्रिड ऑटो चौड़ाई और ऑटो ऊंचाई पर सेट है। यह अपेक्षित के रूप में काम कर रहा है, और यह पूरे आवेदन को ऊंचाई और चौड़ाई में फिट करने के लिए स्केल करता है।
फिर मैं मुख्य ऐप क्षेत्र में दृश्य (उपयोगकर्ता नियंत्रण घटक के रूप में) डालने के लिए प्रिज्म का उपयोग कर रहा हूं। UserControl ऑटो चौड़ाई और ऊंचाई पर भी सेट है, और अभिव्यक्ति मिश्रण में डिफ़ॉल्ट सेटिंग्स को देखकर, क्षैतिज एलाइनमेंट और वर्टिकल एलाइनमेंट को खींचने के लिए सेट हैं!
हालांकि, प्रिज्म लोड यूजर कंट्रोल केवल चौड़ाई में फैला है और ऊंचाई में नहीं! दृश्य प्रतिक्रिया के लिए इसे पृष्ठभूमि रंग देकर, मैं देख सकता हूं कि यह आवश्यकतानुसार लंबवत स्थान लेता है, न कि पूरे क्षेत्र में उपलब्ध है!
इसके लिए समाधान क्या हो सकता है? मैंने चौड़ाई और ऊँचाई ऑटो, क्षैतिज और लंबवत संरेखण को मैन्युअल रूप से ओवरराइड करने के लिए सभी सेटिंग्स को गड़बड़ करने की कोशिश की है, लेकिन उम्मीद के अनुसार कुछ भी काम नहीं करता है!
कुछ कोड: (Shell.xaml)
<Window Height="1140" Width="1450">
<Grid Margin="0" Background="White">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Background="#FFEEEEEE" Grid.Column="0" Grid.Row="0">
</Grid>
<ItemsControl Width="Auto" Height="Auto" Grid.Row="0" Grid.Column="1" Name="MainRegion" cal:RegionManager.RegionName="MainRegion" Padding="10" Margin="10, 0, 0, 0" Background="#FFFFFFD5" />
</Grid>
</Grid>
</Window>
(राय यह है कि माता-पिता ऊंचाई वारिस होना चाहिए):
<UserControl Width="Auto" Height="Auto" Background="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<!-- I want this to take the full width and height of the parent -->
</UserControl>
तो इस तरह से देखा गया में लोड कर रहे हैं में एक limitaion है मुख्य xaml, या यह एक UserControl सीमा है, या कुछ और जो मुझे समझ में नहीं आता है?
बस स्पष्ट करने के लिए; मुझे क्षैतिज और लंबवत दोनों को खींचने वाले Shell.xaml में परिभाषित आइटम्स कंट्रोल का पृष्ठभूमि रंग दिखाई देता है, लेकिन आइटम्स कंट्रोल में लोड दृश्य की पृष्ठभूमि नहीं।
ध्यान दें कि बिंदु को समझने में आसान बनाने के लिए मैंने कुछ xaml को हटा दिया है!
धन्यवाद!
आप इसे उत्तर के रूप में चिह्नित कर सकते हैं। –
हाँ, एक दिन में यह मेरा उत्तर है –
यदि आपका केवल एक आइटम दिखा रहा है तो आइटम्स कंट्रोल के बजाय ContentControl का उपयोग क्यों न करें। यह मानते हुए कि आप जानबूझकर एक-दूसरे के ऊपर कई वस्तुओं को नहीं डाल रहे हैं। – jpierson