[WP]システムトレイの背景を透過する

開発者なんだから開発っぽいプログ書かないといけないとー!
って思ったので自分のメモ書き兼ねて。
ちなみに自分であちこち調べながらたどり着いた内容なので、
もっと簡単にできるとかあったら教えて下さい。


Windows Phoneを使ってると多くのアプリでシステムトレイが表示されてなかったり、システムトレイだけ背景色違うとかよくある。
←画像クリックで拡大
※システムトレイ = ディスプレイ最上部の電波強度、バッテリー、時間、などが表示されている部分

背景色違うだけならまだしも、システムトレイ出てないとか結構不便。
公式TwitterとかSkypeは見れない、不便。

これの修正はとても簡単なので何故しないのか疑問である。
以下修正方法

システムトレイを非表示に設定する

shell:SystemTray.IsVisible="False"

枠の色をテーマに合わせる

BorderBrush="{StaticResource PhoneBorderBrush}"

namespaceを追加する(C#)

+using Microsoft.Phone.Shell;

OnNavigatedToをオーバーライド

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{
    base.OnNavigatedTo(e);

    // システムトレイを表示
    SystemTray.IsVisible = true;
    // システムトレイの不透過度を0.0に設定
    SystemTray.SetOpacity(this, 0.0);
    // システムトレイの背景色を無色に設定
    SystemTray.SetBackgroundColor(this, Colors.Transparent);
}


修正後はちゃんと背景色そのまま表示されていることが分かる。
←画像クリックで拡大

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中