在不同的WPF表单类中使用组合框值

时间:2015-08-11 18:47:39

标签: c# wpf combobox

我有一个WPF窗口,用户可以在组合框下拉列表中选择项目。

按下按钮后,将打开另一个WPF窗口。我希望能够在其他WPF窗口类中使用下拉选择值。

我刚刚开始使用WPF窗口,所以如果这很简单就道歉......下面是我尝试但没有运气的。

保存组合框值的类:

public class ComboSelection
{
    public string cFunction { get; set; }
    public string cItem { get; set; }
}

创建类的实例并分配属性值并打开第二个WPF窗口:

private void Button2_Click(object sender, RoutedEventArgs e)
{
    ComboSelection combo = new ComboSelection();
    combo.cFunction = ComboBox3.Text;
    combo.cItem = ComboBox2.Text;
    Pick_Item pi = new Pick_Item();
    pi.Show();
}

当我尝试在其他WPF窗口类中引用该类时,我收到错误An object reference is required for the non-static field, method or property

我尝试将属性设为静态,然后显示编译错误Member 'myProject.ComboSelection.cFunction.get' cannot be accessed with an instance reference; qualify it with a type name instead

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

ComboSelection构造函数添加Pick_Item参数,并将combo传递到Pick_Item的新实例

class Pick_Item
{
    private ComboSelection _comboSelection;

    public Pick_Item(ComboSelection comboSelection)
    {
        _comboSelection = comboSelection;
    }
}

...

Pick_Item pi = new Pick_Item(combo);
pi.Show();

现在,您的Pick_Item类可以访问ComboSelection作为类级变量。