两天后,我尝试了各种方法,以便在loadButton上单击时,它会打开一个辅助窗口并禁用loadButton;然后,当该辅助窗口关闭时,将重新启用loadButton。虽然,显然我的所有尝试都没有成功。
我一直在阅读有关使用isClosing事件的内容,但是,我还没有弄清楚如何正确实现它。所以我决定采用这条路线。
private void loadButton_Click(object sender, RoutedEventArgs e)
{
var richWindow = RichTextWindow.GetWindow(new RichTextWindow());
if (richWindow.IsActive != true)
{
loadButton.IsEnabled = false;
richWindow.Show();
}
else
{
loadButton.IsEnabled = true;
}
}
问题在于,上半部分已执行。单击loadButton后,它会禁用。但是,在关闭新窗口时,仍然禁用loadButton。 任何人都可以指出我正确的方向我需要去哪里吗?
答案 0 :(得分:3)
我认为你想要的是这样的:
private void loadButton_Click(object sender, RoutedEventArgs e)
{
var richWindow = RichTextWindow.GetWindow(new RichTextWindow());
richWindow.Closed += (s, e) => loadButton.IsEnabled = true;
loadButton.IsEnabled = false;
richWindow.Show();
}
基本上,在打开窗口之前禁用按钮。然后,监听要关闭的窗口并再次启用该按钮。
答案 1 :(得分:0)
richWindow.Loaded +=
{
loadedButton.IsEnabled = false;
};
richWindow.Closing +=
{
loadedButton.IsEnabled = true;
}