'da VisualState'ı nasıl değiştiririm Şu iki durumu Expression Blend'de tanımladım. this rehberini takip etmeye çalışıyorum ama durumun nasıl ve ne zaman değiştirileceğine dair bilgiye ihtiyacım olduğunda beni askıda bırakıyor gibi hissediyorum.WP7
Ben bir davranışı eklemek duyuyorum kılavuzuna göre benim UserControl
(I "GotoState" varsayalım) - ve yaptım bile, isterim - Ne yazık ki aslında bir User Control
sanmıyorum PortraitState
ve LandscapeState
'um için bir davranış eklemek zorunda mıyım?
LayoutRoot
öğem için GotoState
ekleyebiliyorum gibi görünüyor. Davranışlarımı her iki eyalette de mi ekledim? Herhangi bir yardım büyük takdir edilecektir.
* edit: Benim xaml.cs dosyasında oynuyordum ve bunun program aracılığıyla yapmanın bir yolu olabileceğini düşündüm. yönlendirme ve yönlendirme değiştirirken anahtar durumumu giriyorum ve doğru yönü buluyorum. Bununla birlikte, devlet asla değişmez. Neyi yanlış yapıyorum?
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: It yukarıda GotoElementState false döndürür görünüyor teşebbüs ve MSDN göre ki: "Kontrol başarıyla yeni duruma geçiş true döndürür, aksi takdirde false"
Şimdi, şu soruyla uğraştım: Durum geçişimin başarısız olmasına ne sebep olabilir?