我的问题是我有一个变量需要窗口发回,所以我用它来完成这个。以下是WPF窗口的构造函数示例。
public CustomYesNo(out bool FormFilled)
{
InitializeComponent();
FormFilled = false;
}
我遇到的问题是我想要它,因此类中的其他方法之一将能够修改发送回调用类的FormFilled变量,如下所示。
private void Button_Yes_Click(object sender, RoutedEventArgs e)
{
FormFilled = true;
Close();
}
显然,Button_Yes_Click方法无法访问FormFilled变量,我试图弄清楚如何从此方法更改FormFilled变量的值,因为此变量仅在构造函数的范围内。我正在尝试使用'out'或者我需要走另一条路线吗?
答案 0 :(得分:2)
尝试这种模式
通话方式:
class foo
{
public void bar()
{
DialogForm myDialogForm = new DialogForm();
myDialogForm.ShowDialog();
if (myDialogForm.DialogResult)
{
//Its true
}
}
}
表单窗口:
public partial class DialogForm : Window
{
public DialogForm()
{
InitializeComponent();
}
void submitButton_Click(object sender, RoutedEventArgs e)
{
this.DialogResult = true;
}
}
WPF中的调用方法与检查结果略有不同:
bool? result = myDialogForm.ShowDialog();
if (result.HasValue && result.Value)