我在Windows 8.1商店应用的魅力菜单中有注销选项。当用户点击魅力菜单中的注销选项时,我正在点击服务电话。
在上述情况下,我应该在应用程序屏幕中显示加载进度条。我的问题是用户可以是我的应用程序中的任何一个屏幕
有没有通用的方法来实现同样的目标?
答案 0 :(得分:1)
我的应用程序中有类似的功能。当点击/点击按钮时(在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。
顺便说一句:根据这些Guidelines,您不应该从入口点执行直接操作。