Простой ландшафтный режим не работает - PullRequest
0 голосов
/ 05 марта 2012

Я добавил страницу XAML и пытаюсь запустить ее в ландшафтном режиме с помощью эмулятора, и он показывает меня в режиме портрета.

Вот мой код страницы XAML:

<phone:PhoneApplicationPage 
    x:Class="PhoneApp1.Page1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
    mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
    shell:SystemTray.IsVisible="True">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Grid.RowDefinitions>
                <RowDefinition Height="70"/>

            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="190"/>
                <ColumnDefinition Width="290"/>
            </Grid.ColumnDefinitions>
            <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Text" VerticalAlignment="Center" Grid.Row="0" Grid.Column="0" Margin="30,0,0,0"/>
            <TextBox x:Name="txtAdd" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="18.667" Grid.Row="0" Grid.Column="1"/>

        </Grid>
    </Grid>

    <!--Sample code showing usage of ApplicationBar-->
    <!--<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
                <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>-->

</phone:PhoneApplicationPage>

Кто-нибудь может сказать мне ошибку, которую я здесь делаю?

Ответы [ 2 ]

2 голосов
/ 30 апреля 2012

Вы когда-нибудь понимали это?Если это не проблема с вашим XAML, как предложил @Jesper, то это может быть просто эмулятор.Я использовал эмулятор для тестирования локального сайта.У меня была та же проблема с кнопками поворота, вращающими телефон, но дисплей все еще был в портретном режиме.Я понял, что если бы я нажал Page Up, чтобы использовать мою клавиатуру, то он всегда будет держать IE в портретном режиме.Когда я снова нажал Page Down, чтобы использовать телефонный ввод, ландшафт работал правильно.Не уверен, является ли это ошибкой или намеренной, но это может быть то же самое с другими приложениями.

1 голос
/ 05 марта 2012

Ваш код правильный. Вы "вращали" эмулятор? Третья кнопка сверху на маленькой панели инструментов рядом с самим окном эмулятора.

...