通过在Windows Phone 8中的单个页面中进行设计,是否可以在所有页面中使用自定义警报消息?

时间:2014-10-30 05:07:02

标签: c# xaml windows-phone-8

在我的Windows Phone 8应用程序中,有近45页。我想在我的应用程序的所有页面中显示警告消息(自定义)。是否可以在单个页面中设计它并在其他页面中调用它?

警告信息的Xaml设计:

<Canvas x:Name="ExpiryPopUp_Container" Visibility="Collapsed" Margin="0,0,0,0" Background="Transparent" Width="800" Height="768">
    <Canvas x:Name="ExpiryPopUp" Background="#FFFFFFFF" Height="180" Canvas.Left="410" Canvas.Top="320" Grid.Row="1" Width="300">
        <Canvas Background="{StaticResource LeftNavBackground}" Height="48" Width="300">
            <TextBlock FontSize="26" TextAlignment="Center" FontFamily="/Assets/Fonts/OpenSans-Regular.ttf#Open Sans Regular" Text="Alert" Width="300" Canvas.Top="10" Height="28"/>
        </Canvas>
        <TextBlock Text=" Session has expired." FontSize="22" FontFamily="/Assets/Fonts/OpenSans-Regular.ttf#Open Sans Regular" TextAlignment="Center" Foreground="{StaticResource BlueText}" Canvas.Top="71" Width="300"/>
        <Canvas x:Name="OkButton" Background="{StaticResource buttonBackground}" Height="32" Width="56" Canvas.Left="122" Canvas.Top="120" Tap="OkButton_Tap">
            <TextBlock TextAlignment="Center" Text="Ok" FontSize="24" FontFamily="/Assets/Fonts/OpenSans-Regular.ttf#Open Sans Regular" Width="49" Height="26" Canvas.Top="2" Canvas.Left="3"/>
        </Canvas>
    </Canvas>
</Canvas>

1 个答案:

答案 0 :(得分:0)

根据以上评论,您想要导航。要在应用中的任何位置执行此操作,您可以执行以下操作:

(App.Current as App).RootFrame.Navigate(...)

我会警告不要使用Canvas(任何地方!),因为如果你转向使用通用应用程序(Windows和Windows Phone 8.1),larger-screen devices上的所有布局都会出错。或者即使您决定支持横向定位,也就是这样。

无专用弹出窗口不会随应用程序的其余部分一起旋转;它们将始终处于纵向模式。该博客指向的代码还显示了在根框架内托管公共UI的机制,因此您不需要使用弹出窗口(查看.cs文件中的App.Xaml和ApplyCustomFrameTemplate方法)。