禁用WPF窗口中的所有输入控件

时间:2014-11-08 07:39:59

标签: wpf

点击按钮后,有没有办法让整个WPF窗口变为惰性?

窗口是通过Window.ShowDialog()调用的,使用后,不再需要窗口进行交互,但我将其保持打开状态以提醒用户TextBox,ListBox中的输入,并通过OxyPlot提供视觉反馈等等上。我将它留给用户手动关闭窗口。

一种解决方案是禁用所有按钮,但这很乏味,它仍然保留了TextBox的功能。这不是最佳选择,因为任何可以运作的东西都会产生错误的印象,即除了看之外,Window仍然存在。通过单一设置,每个控件都不会起作用会更好。

2 个答案:

答案 0 :(得分:4)

我是通过在后面的WPF窗口代码上添加一个名称,然后在相应的按钮单击时设置.IsEnabled false来实现的。所有按钮,组合框,文本框,甚至OxyPlot在这一点上都变得惰性,而且大多数部分都是灰色的。

答案 1 :(得分:1)

考虑在代码隐藏或视图模型中创建一个专用的布尔依赖项属性,并将每个IsEnabled的{​​{1}}绑定到属性。