アプリケーションの一部の操作には時間がかかります。待機画面を表示して、操作が完了するまでユーザーが何もできないようにしたいと考えています。
どうすればいいのか教えてください。
アプリケーションの一部の操作には時間がかかります。待機画面を表示して、操作が完了するまでユーザーが何もできないようにしたいと考えています。
どうすればいいのか教えてください。
フレーム テンプレートを編集し、次の方法で特別なコントロールを挿入できます。
<Style x:Key="mainFrameStyle" TargetType="phone:PhoneApplicationFrame">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="phone:PhoneApplicationFrame">
<Border x:Name="ClientArea" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"
HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}">
<Grid x:Name="mainFrameGrid">
<ContentControl ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
<Grid Background="Black" Visibility="{Binding IsBusy, Converter={StaticResource TrueToVisibleConverter}, Source={StaticResource FrameViewModel}}">
<TextBlock Text="Loading.." VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
次のコードを使用して、InitializePhoneApplication() の App.xaml.cs にこのテンプレートを適用します。
RootFrame = new TransitionFrame();
RootFrame.Style = Resources["mainFrameStyle"] as Style;
したがって、ビューモデルを staticresource として登録し、必要に応じて IsBusy プロパティを変更するだけです。