WP7アプリケーションのApp.xaml.csのコンストラクタに次のコードを追加します。デフォルトの電話リソースをオーバーライドするときにNotImplementedExceptionが発生する
Resources["PhoneBackgroundBrush"] = new ImageBrush
{
ImageSource = new BitmapImage(new Uri("/images/bg.png", UriKind.Relative))
};
実行後、アプリケーションを開くとNotImplementedExceptionが発生します。
どうすればこのことができますか?
私が達成しようとしているのは、Facebookのような単一のテーマアプリケーションで、電話のテーマに関係なく常にホワイトテーマを持っています。
リソースのゲッターは常に機能するので、アクセスする電話リソースがコードから完全にブロックされているわけではありません。 (私は現在のテーマと電話のアクセントを判断するためにこれを使用しています)。 Application.Resourcesためセッターはこのように実装されているため
var a = Resources["PhoneBackgroundBrush"]; // this works fine
私はそれをprogramaticalyとしている理由は、動的に別のものに設定することです(いくつかの基準に基づいて) 。 –
App.xaml.csのリソースディクショナリからオブジェクトを取得して、アプリケーションの起動時に変更することができます。私は他のところでそれを変更する場合、私は気を付けるだろう。 –