Ich habe die folgenden zwei Zustände in Expression Blend definiert. Ich habe versucht, this Leitfaden zu folgen, aber ich fühle mich wie es mich hängen lässt, wenn ich Informationen darüber brauche, wie und wann ich den Zustand ändern soll.Wie ändere ich den VisualState in WP7
Nach der Führung Ich bin ein Verhalten zu befestigen (ich nehme an „GoToState“), um meine UserControl
- leider tatsächlich habe ich glaube ich nicht ein User Control
- und selbst wenn ich, tat würde ich muss ein Verhalten sowohl an meine PortraitState
als auch an meine LandscapeState
anhängen?
Es scheint, ich kann ein GotoState
an meine LayoutRoot
Element anhängen. Also verbinde ich mein Verhalten damit in beiden Staaten? Jede Hilfe würde sehr geschätzt werden.
* bearbeiten: Ich spielte in meiner XAML.CS-Datei herum und dachte mir, dass dies programmatisch der Weg sein könnte. Beim Debuggen und Ändern der Orientierung gebe ich meinen Schalterkasten ein und finde die richtige Orientierung. Der Zustand wird jedoch nie umgeschaltet. Was mache ich falsch?
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: Wenn die oben Es Versuch scheint, dass GotoElementState false zurück und nach MSDN: „true zurückgibt, wenn die Steuerung erfolgreich auf den neuen Zustand über, andernfalls false“
Jetzt bin ich mit der Frage: Was kann meinen Zustand Übergang zum Scheitern bringen?