0

WPF アプリケーションと WPF UserControl を使用します。

メインアプリケーションに複数回あるユーザーコントロールがあります。この usercontol にはボタンがあり、クリックするとグローバル文字列変数の内容が表示されますProperties.Settings.Default.StringA;(「stringA」はこの説明の例にすぎません)。

たとえば、このグローバル設定には、文字列 parameterNameA と parameterNameB があります。

メインアプリケーションで次のようなものを作成する必要があります。

UserController インスタンス 1: <local:UserControl1 stringVariable="parameterNameA" />

UserController インスタンス 2: <local:UserControl1 stringVariable="parameterNameB" />

ユーザーコントローラーでは、次のようなものを取得する必要があります。

public string stringVariable
{
    get 
    {
        return stringVariable; 
    }
    set 
    {
       settingThis = value; 
    }
}

しかし、これはそれから文字列を作成します。しかし、私が望むのはProperties.Settings.Default.StringA;、「StringA」が「parameterNameA」または「parameterNameB」である正しいパラメーターを取得することです

本当にこれで立ち往生。誰にもアイデアはありますか?

================================================== =

EDIT 1 - よりよく説明するための質問の改訂

WPF アプリケーションと WPF UserControl を使用しています。

ボタンのある UserControl があります。このボタンを押すと、次のことが行われます。MessageBox.Show(Properties.Settings.Default.messageA);

したがって、messageA はグローバル文字列変数の 1 つです。

XMLを介して、このuserControlをアプリケーションウィンドウに配置します。

<local:UserControl1 stringVariable="messageA" />

しかし、私は一度そこに置くのではなく、アプリケーションウィンドウに複数回置きたいと思っています。しかし、お分かりのように、ボタンをクリックすると、常にメッセージ A が表示されます。

だから私は何をしようとしています:私は呼び出されたときに表示するメッセージを定義するものをuserControlに追加したいのですProperties.Settings.Default.messageAが、アプリケーションウィンドウの2番目のインスタンスでは、メッセージAを表示したくありません。メッセージBを表示したい. したがって、アプリケーションウィンドウで、次のようなものを考えました:

<local:UserControl1 stringVariable="messageA" />

<local:UserControl1 stringVariable="messageB" />

stringVariable="messageB"したがって、ユーザーコントローラー内では、が設定されている場合は呼び出す必要があることを何らかの形で理解する必要がProperties.Settings.Default.messageBあります。Properties.Settings.Default.messageA

もう少しうまく説明できたらと思います。

4

2 に答える 2

0

私はあなたがここで何を望んでいるのか理解していると思いますが、あなたのコードのすべての毛羽立ちのため、100% 確信が持てません. あなたが正しく理解している場合は、名前の代わりにグローバル設定の値を利用したいと考えています。または、設定の名前から値を取得する方法があります...

設定変数の名前を保存することはできますが、単に ConfigurationManager を使用して、キー (名前) に基づいて設定を返す必要があります。必要な参照と using ステートメントを必ず含めてください。

public string StringVariable { get; set; }

public string SettingValue
{
    get { return ConfigurationManager.AppSettings[StringVariable]; }
}
于 2012-04-05T19:09:40.667 に答える
0

私が正しく理解した場合:

ユーザー コントロールのコンテンツをProperties.Settings.Default.StringXコンストラクターのパラメーターを介して渡し、それをプロパティとして保持し、必要な場所で使用しないのはなぜですか?

于 2012-04-05T13:14:14.580 に答える