WP8 - 当有来电时,应用布局完全搞砸了

时间:2014-07-08 08:15:16

标签: c# xaml events user-interface windows-phone-8

我正在开发的应用程序有问题。 我注意到,如果我在打电话时打开应用程序,或者如果我在应用程序中并且接到电话,则布局会完全搞砸。 我的意思是,全景本身仍然可以,全景控件之外的元素和控件也是如此(就像我更改全景页面时的一些矩形/文本块一样)。

但是全景页面中的所有元素都搞砸了,就像它们保持原样,但整个应用程序UI在它们下面滑动,所以它们最终会导致错误的位置。 或者文本块被“剪切”,就像它们的边距保持不变,它们内部的文本滑向屏幕底部。

有没有办法防止这种情况发生? 我不知道,有些设置说“如果你接到电话,不要乱用应用UI”:D

我只是希望调用横幅覆盖屏幕的上半部分,没有应用程序UI向底部分开。

谢谢! :)

塞尔吉奥

1 个答案:

答案 0 :(得分:0)

好的,我修改了你提供的XAML给你一个例子 我没有在我的机器上安装telerik,所以我用基本控件替换了它们。

正如您所看到的,您必须将您的布局想象成一个网格,包含行和可能的列,然后在这些行中,根据需要放置您的元素。

由于您最近刚开始使用windows phone dev,我强烈建议您阅读有关XAML基础知识和XAML布局构建的教程。

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

<!--  LayoutRoot è la griglia radice in cui viene inserito tutto il contenuto della pagina  -->
<Grid x:Name="LayoutRoot">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <!--  TitlePanel contiene il nome dell'applicazione e il titolo della pagina  -->
    <StackPanel Grid.Row="0">
        <TextBlock Style="{StaticResource PhoneTextNormalStyle}" Text="Funzioni varie" />
        <TextBlock Style="{StaticResource PhoneTextTitle1Style}" Text="Decripta testo" />
    </StackPanel>

    <TextBlock Grid.Row="1"
               Margin="15"
               Text="Telerik rad button" />

    <StackPanel Grid.Row="2"
                Margin="15"
                HorizontalAlignment="Stretch"
                Orientation="Horizontal">

        <TextBlock Text="Telerik password" />

        <Button Width="225"
                Height="85"
                HorizontalAlignment="Right"
                VerticalAlignment="Top"
                BorderThickness="5"
                Click="Button_Click"
                Content="Decripta!"
                FontSize="25"
                FontWeight="Bold" />
    </StackPanel>

    <!--  ContentPanel - inserire ulteriore contenuto qui  -->
    <Border Grid.Row="3"
            Margin="15"
            BorderBrush="White"
            BorderThickness="2">
        <TextBlock x:Name="Decodificato"
                   Width="436"
                   Height="373"
                   FontSize="25"
                   Text="Testo decodificato[...]"
                   TextWrapping="Wrap" />
    </Border>
</Grid>