0

使用 WPF 应用程序和 WPF 用户控件。

我有一个多次在主应用程序中的用户控件。这个用户控件中有一个按钮,点击它会显示一个全局字符串变量的内容Properties.Settings.Default.StringA;(其中“stringA”只是这个例子中的一个例子)

例如,在这个全局设置中,我有一个字符串 parameterNameA 和一个 parameterNameB。

我应该在主应用程序上做这样的事情:

用户控制器实例 1: <local:UserControl1 stringVariable="parameterNameA" />

用户控制器实例 2: <local:UserControl1 stringVariable="parameterNameB" />

在用户控制器中应该得到这样的东西:

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

但这一个用它做了一个字符串。但我想要的是让它获得正确的参数Properties.Settings.Default.StringA;,其中“StringA”应该是“parameterNameA”或“parameterNameB”

真的卡在这个了。有人有想法么?

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

编辑 1 - 修改问题以更好地解释

我正在使用 WPF 应用程序和 WPF UserControl。

我有一个用户控件,其中有一个按钮。点击此按钮将执行以下操作:MessageBox.Show(Properties.Settings.Default.messageA);

所以 messageA 是全局字符串变量之一。

现在我通过 XML 将此 userControl 放在应用程序窗口上:

<local:UserControl1 stringVariable="messageA" />

但我没有把它放在那里一次,我想把它多次放在应用程序窗口上。但正如您所理解的,单击该按钮将始终显示 messageA。

那么我在尝试什么:我想在 userControl 中添加一些东西,它可以定义在调用时要显示什么消息,Properties.Settings.Default.messageA但是对于应用程序窗口上的第二个实例,我不希望它显示 messageA,我希望它显示 messageB。所以在应用程序窗口中,我想到了这样的事情:

<local:UserControl1 stringVariable="messageA" />

<local:UserControl1 stringVariable="messageB" />

所以在用户控制器中,它应该以某种方式理解何时stringVariable="messageB"设置,它应该调用Properties.Settings.Default.messageB而不是Properties.Settings.Default.messageA

我希望我现在解释得更好一点。

4

2 回答 2

0

如果我理解正确:

为什么不直接通过Properties.Settings.Default.StringX构造函数中的参数传递您在用户控件中的内容,将其作为属性保存并在您想要的任何地方使用它?

于 2012-04-05T13:14:14.580 回答
0

我想我明白你在这里想要什么,但我不确定 100% 因为你的代码中的所有绒毛。如果我理解正确,您想使用全局设置的值而不是名称。或者,有一些方法可以从设置名称中提取值......

您仍然可以存储设置变量的名称,但您只需使用 ConfigurationManager 根据键(名称)返回设置。确保包含必要的引用和使用语句。

public string StringVariable { get; set; }

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