首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows Phone 8页面方向

Windows Phone 8页面方向
EN

Stack Overflow用户
提问于 2015-02-27 15:54:39
回答 2查看 66关注 0票数 1

当页面已加载或页面正在加载时,如何检测方向?我实现了OrientationChanged方法。但是,当我将第一页设置为景观时,第二页不会触发此方法。页面是在景观模式,但UI不是。我的意思是,页面定位是可以的,但是OrientationChanged是否会被触发?我在此方法中更改UI对象的外观。如果没有触发,UI将显示为纵向模式。

代码语言:javascript
复制
private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
    if (e.Orientation == PageOrientation.Landscape || e.Orientation == PageOrientation.LandscapeLeft || e.Orientation == PageOrientation.LandscapeRight)
    {
        SwitchPanel.Margin = new Thickness(12, 100, 250, 0);
        StatusPanel.HorizontalAlignment = System.Windows.HorizontalAlignment.Right;
    }
    else
    {
        SwitchPanel.Margin = new Thickness(12, 100, 12, 0);
        StatusPanel.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
    }
}

我怎样才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-27 16:34:58

只需将代码放在一个不同的方法中,并从OrientationChangedLoaded事件调用此方法:

代码语言:javascript
复制
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
    this.SetOrientation(this.Orientation);
}

private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
    this.SetOrientation(e.Orientation);
}

private void SetOrientation(PageOrientation orientation)
{
    if (orientation == PageOrientation.Landscape || orientation == PageOrientation.LandscapeLeft || orientation == PageOrientation.LandscapeRight)
    {
        SwitchPanel.Margin = new Thickness(12, 100, 250, 0);
        StatusPanel.HorizontalAlignment = System.Windows.HorizontalAlignment.Right;
    }
    else
    {
        SwitchPanel.Margin = new Thickness(12, 100, 12, 0);
        StatusPanel.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
    }
}
票数 4
EN

Stack Overflow用户

发布于 2015-02-27 16:42:58

你把事件连接到事件处理程序了吗?构造函数中应该有类似于以下内容的内容.

代码语言:javascript
复制
this.OrientationChanged += PhoneApplicationPage_OrientationChanged;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28769128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档