में विजुअलस्टेट को कैसे बदलूं, मैंने अभिव्यक्ति मिश्रण में निम्नलिखित दो राज्यों को परिभाषित किया है। मैं this मार्गदर्शिका का पालन करने की कोशिश कर रहा हूं लेकिन मुझे लगता है कि मुझे राज्य को कैसे और कब बदलना है, इस बारे में जानकारी चाहिए जब मुझे लटकती है।मैं WP7
गाइड मैं एक व्यवहार संलग्न करने के लिए कर रहा हूँ के अनुसार मेरी UserControl
करने के लिए (मैं "GotoState" मान) - दुर्भाग्य से मुझे नहीं लगता कि मैं वास्तव में एक User Control
है - और यहां तक कि अगर मैं, मैं करूंगा मेरे PortraitState
और मेरे LandscapeState
दोनों के लिए एक व्यवहार संलग्न करना है?
ऐसा लगता है कि मैं GotoState
को अपने LayoutRoot
तत्व में संलग्न कर सकता हूं। तो क्या मैं अपने व्यवहार को दोनों राज्यों में जोड़ता हूं? किसी भी तरह की सहायता का स्वागत किया जाएगा।
* संपादित करें: मैं अपने xaml.cs फ़ाइल में चारों ओर खेल रहा था और यह पाया कि यह प्रोग्रामेटिक तरीके से ऐसा करने का तरीका हो सकता है। जब डिबगिंग और अभिविन्यास बदलते हैं तो मैं अपना स्विच केस दर्ज करता हूं और सही अभिविन्यास ढूंढता हूं। राज्य, हालांकि, कभी नहीं बदला जाता है। मैं क्या गलत कर रहा हूं?
protected override void OnOrientationChanged(OrientationChangedEventArgs e)
{
switch (e.Orientation)
{
case PageOrientation.Landscape:
ExtendedVisualStateManager.GoToElementState(root:this.LayoutRoot, stateName: "LandscapeState", useTransitions: true);
break;
case PageOrientation.LandscapeRight:
ExtendedVisualStateManager.GoToElementState(root:this.LayoutRoot, stateName: "LandscapeState", useTransitions: true);
break;
case PageOrientation.LandscapeLeft:
ExtendedVisualStateManager.GoToElementState(root:LayoutRoot, stateName: "LandscapeState", useTransitions: true);
break;
case PageOrientation.Portrait:
ExtendedVisualStateManager.GoToElementState(root:this.LayoutRoot, stateName: "PortraitState", useTransitions: true);
break;
case PageOrientation.PortraitUp:
ExtendedVisualStateManager.GoToElementState(root:this.LayoutRoot, stateName: "PortraitState", useTransitions: true);
break;
case PageOrientation.PortraitDown:
ExtendedVisualStateManager.GoToElementState(root:this.LayoutRoot, stateName: "PortraitState", useTransitions: true);
break;
default:
break;
}
}
EDIT2: जब प्रयास कर यह ऊपर लगता है कि GotoElementState झूठी वापस आती है और, MSDN के अनुसार: "। TRUE देता नियंत्रण सफलतापूर्वक नए राज्य के रूप में स्थानांतरित, अन्यथा, झूठे"
अब मुझे प्रश्न के साथ छोड़ दिया गया है: मेरे राज्य संक्रमण में असफल होने का कारण क्या हो सकता है?