質問

.NET 3.5アプリケーションでPropertyEditorを使用して、ユーザーがシリアル化されたクラスに含まれる設定を編集できるようにしています。このアプリケーションでは、複数の言語をサポートするためにローカライズが必要です。標準の .NET リソースを使用して実装されたローカライズされた文字列。

PropertyEditor では、カテゴリ、表示名、説明を属性経由で設定する必要があります。以下の例:

    [CategoryAttribute("Some category"),
    DisplayNameAttribute("Some name"),
    DescriptionAttribute("Some description"),
    EditorAttribute(typeof(SomeEditor), typeof(System.Drawing.Design.UITypeEditor))]
    public SomeType SomeValue {get; set;}

しかし、コンパイラでは属性値にリソース文字列を使用することができず、最初の行を次のように変更します。

[CategoryAttribute(Resources.labels.SomeCategory),

エラーが発生します:「'App.Settings.SomeCategory' に割り当てられる式は定数である必要があります。」

WinForms でプロパティ エディターを適切にローカライズする方法を誰かが教えてくれますか?

役に立ちましたか?

解決

数か月前にも同じ問題に遭遇しました。これより簡単な/他の解決策は見つかりませんでした この記事 または そのフォローアップ.

その方法が気に入るかどうかはわかりませんが、代わりの方法がわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top