0

名前 '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 を設定して、さまざまな画面からアクセスできるようにすることでした。


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

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

1 に答える 1

0

文字列を保存するだけの場合は、リソース ファイルの使用を検討してください。その後、必要に応じて翻訳できます。編集 (リソース ファイルの使用法を説明するため): リソースにアクセスするには、まずプロジェクトに .resx ファイルを作成し (名前を MainResource.resx とします)、アクセス修飾子のドロップダウンを public に変更し、名前を使用して文字列を追加します。 ValueFromHome および値: 「ホームページの値」。次に、必要に応じてリソースの名前空間に using を追加し、次のように直接呼び出すことで値を取得できます。

string value = MainResource.ValueFromHome;

ぶらぶらしている静的変数には注意が必要です。おそらく、MainViewModel を使用してその値を格納できます。静的変数が本当に必要な場合は、プロジェクトに新しい静的クラスを作成し、ValueFromHome プロパティをそのクラスに配置します。アプリは Silverlight の構成要素であり、すべての領域で利用できるように作成されていないため、おそらく利用できません。

于 2011-10-18T20:22:43.133 に答える