Windows Phone 8 消息框问题

本文关键字:问题 消息 Phone Windows | 更新日期: 2023-09-27 18:34:38

>过程:当屏幕中显示 MessageBox.时,用户锁定手机或按开始按钮,然后返回应用

按照上述步骤操作时,您将永远不会看到在开始上述程序之前出现的消息框,相反,即使在确定取消选项中,电话也会选择默认值。会是什么情况,我将如何解决?

Windows Phone 8 消息框问题

我认为避免此问题的唯一方法是创建自己的弹出视图作为消息框。

MessageBox 在打开时会抑制主应用程序线程,当您按下锁屏按钮时,应用程序,每个活动线程都会在后台运行。主活动应用线程被激活,内部生成的消息框线程不会被激活。

VisualTreeHelper.GetOpenPopups((; 是检查所有打开的弹出窗口的方法。 但最好和最一致的解决方案是使用自定义弹出窗口,即用 XAML 制作的消息框。 它们永远不会作为单独的线程出现,阻止主 UI 线程。

像这样的自定义用户控件可能会有所帮助

 <Border Name="bdrLeave" Visibility="Collapsed">
            <Border.Background>
                <ImageBrush Stretch="Fill" ImageSource="/Images/LoderBackground.png"/>
            </Border.Background>
            <StackPanel>
                <StackPanel>
                    <StackPanel.Background>
                        <ImageBrush Stretch="Fill" ImageSource="/Images/Backgrounds/Main_BG.jpg"/>
                    </StackPanel.Background>
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
                    <TextBlock Text="Heading" HorizontalAlignment="Center" Foreground="#FF001C68" FontWeight="Bold" Margin="0,20,150,0"/>
                        <Button content="Close"/>
                    </StackPanel>
                        <TextBlock Text="Message" TextWrapping="Wrap" HorizontalAlignment="Center" Foreground="#FF001C68" Margin="0,20,0,0"/>
                    <StackPanel Margin="0,20,0,20" Orientation="Horizontal" HorizontalAlignment="Center">
                        <Button  Content="Content" Width="130"/>
                        <Button Content="Content" width "130"/>
                    </StackPanel>
                </StackPanel>
            </StackPanel>
        </Border>