我有一个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
。
非常感谢任何帮助。
答案 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作为类级变量。