2011-02-04 7 views
1

Silverlight 4アプリケーションでは、ボタン、ラベル、さまざまな画面のテキストなど、どのようなコンテンツを必要とするのかを定義する必要があります。私はリソースファイルの方法を理解していますが、ユーザーにリソースファイルのテキストを定義するような制御がある場合、XAMLページの変更内容を表示できるようにするにはどうすればよいでしょうか? Blendをインストールする必要がありますか?Silverlight 4 MVVM app、ユーザーによる編集、ブレンドのみ?

WinFormsアプリケーションを実行しているときにぼんやりと覚えていますが、ユーザーに実際のwinformを渡して、ボタンのテキストやラベルなどを編集するためにビジュアルデザイナーを使用しました。リソースファイルに追加します。

私たちのアプリはMVVMなので、XAMLの各項目はビューモデルのプロパティにバインドされ、そのプロパティはリソースファイルからエントリをロードします。

ユーザーがresxファイルの内容を視覚的に確認しながら更新する方法がある場合は、私にお知らせください。

ご協力いただきありがとうございます。

答えて

0

私がこれまで行ってきたことは、リソース(resx)ファイル専用のアセンブリを持つことでした。既定では、これらはアセンブリに埋め込まれています。そのトリックは、resxファイルのプロパティを埋め込まない(False)に変更することです。この方法では、ファイルはアセンブリと一緒に行かなければならない別々のresx xmlファイルです(実行中のアプリケーションの同じ/ binディレクトリにあります)。これは、/ en-US /などのリソースを持つ/ binディレクトリの一部に表示されます。以前は、ユーザーがディスクに書き戻されたこれらのresxファイルを編集できる単純なGUIを作成しました。私はSilverlightの内部の仕組みには慣れていませんが、悪い場合には編集されたresxファイルが次のアプリケーションの再起動時にダウンロードされるサーバーにアップロードされていると思います。

今、私が「過去に」と言ったとき、それは2003年に戻った。最近、私は修正できなかった既存のアセンブリのために、ResXResourceReaderを使って手動でこれを行う必要がありました。

いくつかのサンプルコード(メモリからそれを書いて、完全にテストされていない):

using (var reader = new ResXResourceReader("[path-to-bin]/MyResources.resx")) 
{ 
    var value = reader["My_key_in_the_resx_file"].ToString; 
} 

は、このルートを行くことによって、あなたは、このようなバイナリと彼RESX int型埋め込みファイルなど他のタイプのリソースへのアクセスを持っていないことに注意してください。ファイル。

最後に、エンコード形式を見てください。海上の編集者の中にはUTF16を使用しているものもあります。したがって、一般的なUnicodeコンバータを使用することが必要な場合があります。

また、resxファイルをコードで更新するために独自の作家をロールしたい場合は、ResXResourceWriterクラスがあります。

関連する問題