Ориентация видеокисти не соответствует ориентации телефона

Я пытался сопоставить ориентацию видеобраша с ориентацией телефона, но у меня возникли проблемы с реализацией этого решения. Моя страница xaml настроена на PortraitOrLandscape, и я хотел бы, чтобы видеокисть была правильной стороной независимо от ориентации телефона. Перед добавлением оператора if для изменения ориентации в событие onOrentationChanged возникает следующая ситуация

Телефон:Пейзаж слева, Видеокисть:справа вверх

Телефон:Портрет, Видеокисть, повернута -90 по часовой стрелке

Phone:Пейзаж вправо, Videobrush, повернутый -180 по часовой стрелке

XAML

<Rectangle x:Name="videoRectangle" Margin="0,0,0,0">
            <Rectangle.Fill>
                <VideoBrush x:Name="viewfinderBrush" AlignmentX="Left" AlignmentY="Top" Stretch="UniformToFill">
                    <VideoBrush.RelativeTransform>
                        <CompositeTransform x:Name="viewfinderTransform" 
                                            CenterX="0.5" CenterY="0.5"/>
                    </VideoBrush.RelativeTransform>
                </VideoBrush>                    
            </Rectangle.Fill>
        </Rectangle>

XAML.CS

protected override void OnOrientationChanged(OrientationChangedEventArgs e)
    {
        base.OnOrientationChanged(e);

        if (e.Orientation == PageOrientation.LandscapeLeft)
        {                //do nothing
                         //The videobrush orientation is currently right side up
        }
        if (e.Orientation == PageOrientation.Portrait)
        {
            //the videobrush is currently rotated 90 degrees counter clockwise
            this.viewfinderTransform.Rotation = this.camera.Orientation + 90.0;
        }
        if (e.Orientation == PageOrientation.LandscapeRight)
        {
            //the videobrush is currently rotated 180 degrees counter clockwise
            this.viewfinderTransform.Rotation = this.camera.Orientation + 180;
        }
    }

А после добавления операторов if ориентация видеобраша становится еще более безумной. Что я делаю неправильно? Я просто хотел бы, чтобы видеокисть была ориентирована правой стороной вверх, независимо от ориентации телефона.

5
задан Matthew 19 April 2012 в 01:47
поделиться