Windows Phone 7 の頃は XAML に shell:SystemTray.IsVisible="False" みたいな事を書いてシステムトレイを消していたのですが、Windows Phone 8.1 のユニバーサルアプリになってからやり方が変わっていました。というか名前もステータスバーに変わっていました。
例えばこんな画面があるとして、今はコードでステータスバーを操作するそうです。*1
基本ページの NavigationHelper_LoadState あたりで実行するといいのでしょうか?
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { var statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView(); await statusBar.HideAsync(); }
このコードを実行すると、この通りステータスバーを消すことができます。
逆にステータスバーを残して こちらにタイトルを表示させる事もできるようです。
上記と同様にステータスバーを取得して、背景色と透明度、タイトルテキスト (とプログレスバーを表示しないための 0) をセットして表示してやります。
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { var statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView(); statusBar.BackgroundColor = Windows.UI.Color.FromArgb(255, 168, 17, 31); statusBar.BackgroundOpacity = 1; statusBar.ProgressIndicator.Text = "App7"; statusBar.ProgressIndicator.ProgressValue = 0; await statusBar.ProgressIndicator.ShowAsync(); }
要はプログレスバーのテキストだけを表示している状態ですが、こんなアプリ どこかで見たことありますね!
ちょっと文字が小さ目なのが悩ましいですが、時計が表示されるのはなかなか有用なのではないでしょうか。
*1:そういえば XAML で操作できないんですかね?