首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >方向更改过程中的Windows phone列和网格

方向更改过程中的Windows phone列和网格
EN

Stack Overflow用户
提问于 2013-11-12 04:36:25
回答 1查看 203关注 0票数 0

嘿,朋友们,我在我的xml中有这个

代码语言:javascript
复制
<Grid x:Name="LayoutRoot" Background="Black">
    <Grid Background="Black">
        <Grid.RowDefinitions>
            <RowDefinition Height="72"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="90"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="72"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="90"/>
        </Grid.ColumnDefinitions>

        <StackPanel x:Name="FirstBorder" Background="Red" Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="0" Grid.RowSpan="3"/>

        <Grid Grid.Column="1" Grid.Row="0" Grid.RowSpan="3" x:Name="LivePreviewTapTarget">
            <Canvas>
                <Rectangle x:Name="CameraRectangle" Width="638" Height="480" Fill="{Binding PreviewBrush}">
                    <Rectangle.RenderTransform>
                        <CompositeTransform x:Name="LivePreviewTransform"/>
                    </Rectangle.RenderTransform>
                </Rectangle>
            </Canvas>
        </Grid>

        <Border x:Name="SecondBorder" Background="Yellow" Grid.Column="2" Grid.Row="0" Grid.RowSpan="3"></Border>

即使这个红色的面板只在第一列,当我运行应用程序时,它会以某种方式扩展(你可以在附加的图像上看到,相机视图上有红色边框)。我做错了什么?

新问题!

当我改变页面旋转时,我在纵向视图中看到了这一点。页面的xaml是相同的。我在OnOrientationChanged事件处理程序中执行此操作。

代码语言:javascript
复制
if (IsPortrait(Orientation))
        {
            Grid.SetRow(FirstBorder, 0);
            Grid.SetColumn(FirstBorder, 0);
            Grid.SetColumnSpan(FirstBorder, 3);

            Grid.SetRow(LivePreviewTapTarget, 1);
            Grid.SetColumn(LivePreviewTapTarget, 0);
            Grid.SetColumnSpan(LivePreviewTapTarget, 3);

            Grid.SetRow(SecondBorder, 2);
            Grid.SetColumn(SecondBorder, 0);
            Grid.SetColumnSpan(SecondBorder, 3);

            CameraRectangle.Width = 480;
            CameraRectangle.Height = 638;

        }

        else
        {
            Grid.SetColumn(FirstBorder, 0);
            Grid.SetRow(FirstBorder, 0);
            Grid.SetRowSpan(FirstBorder, 3);
            Grid.SetColumn(SecondBorder, 2);
            Grid.SetRow(SecondBorder, 0);
            Grid.SetRowSpan(SecondBorder, 3);
            Grid.SetColumn(LivePreviewTapTarget, 1);
            Grid.SetRow(LivePreviewTapTarget, 0);
            Grid.SetRowSpan(LivePreviewTapTarget, 3);
            CameraRectangle.Width = 638;
            CameraRectangle.Height = 480;
        }

        if (IsPortrait(Orientation))
        {
            _livePreviewTransform.Rotation = _viewModel.ViewfinderRotation;
            _livePreviewTransform.CenterX = 240;
            _livePreviewTransform.CenterY = 400;
            _livePreviewTransform.TranslateX = -100;
            _livePreviewTransform.TranslateY = -160;
        }
        else if (Orientation == PageOrientation.LandscapeRight)
        {
            _livePreviewTransform.Rotation = 180;
            _livePreviewTransform.CenterX = 400;
            _livePreviewTransform.CenterY = 240;
            _livePreviewTransform.TranslateX = -160;
            _livePreviewTransform.TranslateY = 0;
        }
        else
        {
            _livePreviewTransform.Rotation = 0;
            _livePreviewTransform.CenterX = 400;
            _livePreviewTransform.CenterY = 240;
            _livePreviewTransform.TranslateX = 0;
            _livePreviewTransform.TranslateY = 0;
        }

        var scaleX = 1.0;

        if (_viewModel.CameraSensorLocation == CameraSensorLocation.Front)
            scaleX = -1.0;
        _livePreviewTransform.ScaleX = scaleX;

这是纵向模式下的页面外观。

EN

回答 1

Stack Overflow用户

发布于 2013-11-12 05:37:58

奇怪的是,我在我的HTC 8X上测试了你的代码,它工作得很好。也许红色已经是你设备上PhotoCamera流的一部分了?

作为一种解决办法,我建议在CameraRectangle元素中添加一些负边距的像素,这样可以隐藏红色边框。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19915435

复制
相关文章

相似问题

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