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

本文关键字:组合 WPF 表单 | 更新日期: 2023-09-27 18:07:25

我有一个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的编译错误。

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

Pick_Item构造函数添加一个ComboSelection参数,并将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。