gpt4 book ai didi

c# - 如何更改 WP7 中的 VisualState

转载 作者:太空狗 更新时间:2023-10-29 20:37:06 26 4
gpt4 key购买 nike

我在 Expression Blend 中定义了以下两种状态。我一直在努力关注 this指南,但当我需要有关如何以及何时更改状态的信息时,我觉得它让我悬而未决。

enter image description here

根据指南,我要将行为(我假设为“GotoState”)附加到我的 UserControl - 不幸的是,我认为我实际上没有 User Control - 即使我这样做了,我是否必须将行为附加到我的 PortraitState 和我的 LandscapeState

看来我可以将 GotoState 附加到我的 LayoutRoot 元素。那么我是否将我的行为附加到这两个州?任何帮助将不胜感激。

*edit:我在我的 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 似乎返回 false,并且根据 MSDN:“如果控件成功转换到新状态,则返回 true;否则返回 false。”

现在我的问题是:什么会导致我的状态转换失败?

最佳答案

像这样更改 WP7 中的 VisualState:

    switch (e.Orientation)
{
case PageOrientation.Landscape:

VisualStateManager.GoToState(this, "LandscapeState", true);

break;

case PageOrientation.Portrait:

VisualStateManager.GoToElementState(this,"PortraitState", true);

break;

default:

break;
}

关于c# - 如何更改 WP7 中的 VisualState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12933377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com