适应屏幕旋转窗口电话

时间:2015-07-13 14:33:39

标签: c# windows-phone-8.1 screen-rotation

我正在使用MediaCapture创建相机应用。我正在尝试适应屏幕旋转,因此我创建了以下方法:

        private void Current_SizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
    {
        width = Window.Current.Bounds.Width;
        height = Window.Current.Bounds.Height;
        //captureManager.SetPreviewRotation(VideoRotation.Clockwise90Degrees);
        //if (ApplicationView.GetForCurrentView().Orientation.ToString() == "Portrait") capturePreview.Stretch = Stretch.Fill;
        capturePreview.Width = width;
        capturePreview.Height = height;
        imagePreview.Width = width;
        imagePreview.Height = height;
        //if (ApplicationView.GetForCurrentView().Orientation.ToString() == "Portrait") capturePreview.Stretch = Stretch.Fill;
        //else capturePreview.Stretch = Stretch.Uniform;
    }

当我打开我的应用程序时,相机会填满整个页面但是当我翻转相机时,capturePreview只占用了一半的页面,如果我以纵向或横向模式启动应用程序无关紧要,另一种模式赢了“如果工作,但第一种模式也将转入。

另一个问题是关于实际的capturePreview布局,我发现如果我保持屏幕处于水平布局,相机效果很好,但如果设备处于纵向模式,我无法在不拉伸照片的情况下填满整个页面,有没有办法在一定的旋转中只保留一个元素在屏幕上(capturePreview)我尝试用旋转变换旋转它,但这也影响了元素的实际位置。 谢谢

1 个答案:

答案 0 :(得分:2)

在WP中,您可以通过Window.Sizechanged事件获取CurrentViewState。

See this MSDN article (first result from google)