kazuakix の日記

Windows Phone とか好きです

Prism アプリのフォント対策

Prism で Phone のアプリを作っていると いつもの問題が出ている事に気が付きました。

f:id:kazuakix:20141019002127j:plain,w360
 
ここはいつも通り App.xaml.cs で Frame の Language を変更して...と思ったのですが、

protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
{
    this.NavigationService.Navigate("Main", null);
    return Task.FromResult<object>(null); 
}

あ、そういえば Prism アプリは基底クラスが Application ではないので この辺の流儀が違うんですね。
そして Prism では Frame の生成はフレームワークの中に隠されていて、自由にアクセスする事はできないみたいです。
 
仕方がないので View 側で個別に Language を指定して逃げることにしました。

public MainPage()
{
    this.InitializeComponent();
    this.Language 
        = Windows.Globalization.ApplicationLanguages.Languages[0];

    ViewModelLocator.SetAutoWireViewModel(this, true);
}

f:id:kazuakix:20141019002132j:plain,w360
 
もしかしてなかなかフォント対策してくれない公式系アプリもこんな感じなんですかね?