C# XML将参数传递到UserControl

C# XML将参数传递到UserControl,c#,wpf,user-controls,C#,Wpf,User Controls,使用WPF应用程序和WPF用户控件 我有一个usercontrol,它位于主应用程序multimes中。 此UserControl中有一个按钮,单击该按钮将显示全局字符串变量Properties.Settings.Default.StringA的内容(其中“stringA”只是本解释中的一个示例) 例如,在这个全局设置中,我有一个字符串parameterNameA和一个parameterNameB 我应该在主应用程序上做如下操作: UserController实例1: UserControll

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

我有一个usercontrol,它位于主应用程序multimes中。 此UserControl中有一个按钮,单击该按钮将显示全局字符串变量
Properties.Settings.Default.StringA的内容(其中“stringA”只是本解释中的一个示例)

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

我应该在主应用程序上做如下操作:

UserController实例1:

UserController实例2:

在usercontroller中,应获得如下内容:

public string stringVariable
{
    get 
    {
        return stringVariable; 
    }
    set 
    {
       settingThis = value; 
    }
}
但这一条就成了一条线。 但是我想要的是让它获得正确的参数
Properties.Settings.Default.StringA其中“StringA”可以是“parameterNameA”或“parameterNameB”

真的被困在这里面了。有人有什么想法吗

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

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

我正在使用WPF应用程序和WPF用户控件

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

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

现在,我通过XML将此userControl放在aplligation窗口上:

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

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

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

因此,在usercontroller中,它应该理解,当设置
stringVariable=“messageB”
时,它应该调用
Properties.Settings.Default.messageB
,而不是
Properties.Settings.Default.messageA


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

如果我理解正确:


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

我想我理解您在这里想要什么,但我不能100%确定,因为您的代码中有很多漏洞。如果我理解正确,您希望使用全局设置的值而不是名称。或者,通过某种方式从设置名称中提取值

您仍然可以存储设置变量的名称,但只需使用ConfigurationManager根据键(名称)返回设置即可。确保包含必要的参考资料和使用说明

public string StringVariable { get; set; }

public string SettingValue
{
    get { return ConfigurationManager.AppSettings[StringVariable]; }
}

这个问题我已经读了4遍了,但仍然让人困惑。请修改它,让它更清楚地说明问题是什么。好的,编辑以添加更多信息。我真的希望现在更清楚了。