2011-10-18 4 views
0

名前' App 'は現在のコンテキストに存在しません。Silverlight Appオブジェクトが存在しません 'エラー

これはどのように可能ですか? SketchFlowアプリケーションをプロダクションSilverlightに変換したとき、初期化コードがMainPage()タイプと異なることに注意してください。彼らはあなたがSystem.Windows.Controls.Frame()を介して初期化コードを実行するように指示:

private void Application_Startup(object sender, StartupEventArgs e) 
{ 
    this.RootVisual = new System.Windows.Controls.Frame() { Source = new Uri("/MyAppScreen.xaml", UriKind.Relative) }; 

} 
public static string ValueFromHome = 
"A Value on Home page"; 

目標は、私が道を各種画面からもアクセスできるようにAppオブジェクト内のプロパティpublic varを設定することでした


リソースデータにアクセスするには、Appオブジェクトを呼び出す必要があります。私は以下のように正しいと思いますか?これは私を助けません

string color = App.Current.Resources["customColor"].ToString(); 

答えて

0

ただ文字列を格納している場合は、リソースファイルを使用して調べてください。それが必要になった場合、翻訳することができます。 EDIT(リソースファイルの使用方法を説明するため):リソースにアクセスするには、まずプロジェクト内に.resxファイルを作成し(MainResource.resxという名前を付けます)、アクセス修飾子のドロップダウンをpublicに変更し、Nameに文字列を追加します:ValueFromHomeとValue: "ホームページの価値"。 必要ならば、あなたは、リソースの名前空間に使用して追加することにより、値を取得することができますので、同様にそれを直接呼び出す:

string value = MainResource.ValueFromHome; 

私がうろつい静的変数を警戒すると思います。おそらく、MainViewModelを使用してその値を格納することができます。静的変数が本当に必要な場合は、プロジェクトに新しい静的クラスを作成し、そのクラスにValueFromHomeプロパティを配置します。 Silverlightの構造であり、すべての領域で利用できるようにはなっていないため、おそらくAppは利用できません。

+0

いいえ、静的データを格納していないため、値を割り当てて後で取得する必要があります。だから私はApp()オブジェクトのエラー、任意のアイデアを取得するのですか? – user1001895

+0

これはビルドまたはランタイムエラーですか?あなたのプロジェクトにはapp.xaml.csがありますか?あなたの説明から分かりにくいです。数行のコードが役に立つでしょう。 – Aligned

+0

コードストリングの色= App.Current.Resources ["customColor"]。ToString(); – user1001895

関連する問題