我在 Windows 8.1 商店应用程序的 Charm 菜单中有注销选项。当用户单击魅力菜单中的注销选项时,我正在拨打服务电话。
在上述情况下,我应该在应用程序屏幕中显示加载进度条。我的问题是用户可以是我的应用程序中的任何屏幕
有什么通用的方法可以实现相同的目标吗?
我在 Windows 8.1 商店应用程序的 Charm 菜单中有注销选项。当用户单击魅力菜单中的注销选项时,我正在拨打服务电话。
在上述情况下,我应该在应用程序屏幕中显示加载进度条。我的问题是用户可以是我的应用程序中的任何屏幕
有什么通用的方法可以实现相同的目标吗?
我的应用程序中有类似的功能。当点击/单击按钮时(在 FlyOut 中,而不是直接在 Charms 中),将执行一个可公开访问的 Sub(例如在模块中):
Public Sub OpenModalBackground(Optional ByVal strProgressText As String = "")
pupModalBackground = New Popup
pupModalBackground.IsLightDismissEnabled = False
pupModalBackground.Width = Window.Current.Bounds.Width
pupModalBackground.Height = Window.Current.Bounds.Height
Dim foModalBackground As New FlyOuts.ModalBackground
foModalBackground.Width = Window.Current.Bounds.Width
foModalBackground.Height = Window.Current.Bounds.Height
foModalBackground.ProgressText = strProgressText
pupModalBackground.Child = foModalBackground
pupModalBackground.SetValue(Canvas.LeftProperty, 0)
pupModalBackground.SetValue(Canvas.TopProperty, 0)
pupModalBackground.IsOpen = True
End Sub
如您所见,生成了一个新的 PopUp,并加载了一个“FlyOut”(UserControl)ModalBackground,如下所示:
<Grid Background="#BF000000">
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center">
<ProgressRing IsActive="True" Foreground="White" Width="50" Height="50" HorizontalAlignment="Center"/>
<TextBlock FontSize="15" FontWeight="SemiLight" Margin="0,20,0,0" HorizontalAlignment="Center" Text="{Binding ProgressText}"/>
</StackPanel>
</Grid>
它对我来说效果很好。据我所见,Win8.1 有一个新的 Control FlyOut,因此您可以使用该控件而不是 UserControl。
顺便说一句:根据这些指南,您不应从入口点执行直接操作。