आप XAML में VisualStateManager का उपयोग करना चाहिए एक पूर्ण XAML समाधान के लिए:
<Grid x:Name="LayoutRoot">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="OrientationStates">
<VisualState x:Name="Full"/>
<VisualState x:Name="Fill"/>
<VisualState x:Name="Portrait"/>
<VisualState x:Name="Snapped"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
प्रत्येक VisualState और अपने XAML में छिपाने/शो तत्वों के लिए स्टोरीबोर्ड बनाएँ। माइक्रोसॉफ्ट उदाहरण एक ही समाधान का उपयोग करते हैं।
-
अद्यतन
मैं शुद्ध खोज की है और उचित राज्यों पाया, एक उदाहरण के लिए इस लिंक के पीछे है: MSDN।
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ApplicationViewStates">
<VisualState x:Name="FullScreenLandscape"/>
<VisualState x:Name="Filled"/>
<VisualState x:Name="FullScreenPortrait"/>
<VisualState x:Name="Snapped"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
राज्य ApplicationViewState enum को दर्शाते हैं। यहां तक कि अधिक जानकारी here मिल सकती है।
आप कृपया विस्तार से बताएं कर सकते हैं आपकी मदद के साथ, आपकी सहायता से मुझे यह लिंक मिल सकता है, http://www.markermetro.com/2011/11/technical/windows-8-metro-style-apps-layout-and-orientation-management-with- xaml /, तो इसका मतलब है कि मुझे प्रत्येक दृश्य स्थिति के लिए एक अलग लेआउट लिखना है, और राज्य के आधार पर सही नियंत्रण में प्रत्येक अभिविन्यास परिवर्तन पर डेटा को दोबारा जोड़ना है? –
हां!यह वास्तव में सबसे अच्छा होगा, केवल xaml, समाधान afaik। आप कुछ चालाक स्टोरीबोर्ड के साथ अपने कुछ तत्वों का पुन: उपयोग कर सकते हैं, लेकिन आपको ज्यादातर अलग-अलग लेआउट बनाना होगा। यदि आप ऐसा करते हैं तो उन्हें अलग-अलग UserControls या Views में स्थानांतरित करना और उनको शामिल करना बुद्धिमान हो सकता है। – Kolky
क्षमा करें, मैं थोड़ा संकीर्ण दिमाग था। माइक्रोसॉफ्ट ने एक बेस पेज क्लास बनाया जो इन विजुअलस्टेट्स का समर्थन करता है। मैंने अपनी पोस्ट को एक और अधिक उपयोग करने योग्य उदाहरण के साथ अपडेट किया ... – Kolky