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

禁用WPF窗口中的所有输入控件,wpf,Wpf,有没有一种方法可以让整个WPF窗口在点击按钮后变得不活跃 该窗口通过window.ShowDialog调用,使用后,该窗口不再用于交互,但我将其保持打开状态,以提醒用户文本框、列表框中的输入,并通过OxyPlot等提供视觉反馈。我让用户手动关闭窗口 一种解决方案是禁用所有按钮,但这很繁琐,而且仍然会保留TextBox的功能。这不是最优的,因为任何东西都会产生一种错误的印象,即除了看之外,任何东西都可以看到窗口。最好是每个控件通过单个设置都不起作用。考虑在代码隐藏或viewmodel中创建专用的布

有没有一种方法可以让整个WPF窗口在点击按钮后变得不活跃

该窗口通过window.ShowDialog调用,使用后,该窗口不再用于交互,但我将其保持打开状态,以提醒用户文本框、列表框中的输入,并通过OxyPlot等提供视觉反馈。我让用户手动关闭窗口


一种解决方案是禁用所有按钮,但这很繁琐,而且仍然会保留TextBox的功能。这不是最优的,因为任何东西都会产生一种错误的印象,即除了看之外,任何东西都可以看到窗口。最好是每个控件通过单个设置都不起作用。

考虑在代码隐藏或viewmodel中创建专用的布尔依赖项属性,并将每个文本框绑定到该属性。

考虑在代码隐藏或viewmodel中创建专用的布尔依赖项属性并进行绑定我为属性启用了每个文本框。

我是通过在WPF窗口代码后面添加一个名称,然后进行设置来实现的。单击相应的按钮后,IsEnabled false。所有的按钮、组合框、文本框,甚至OxyPlot都在这时变得不活跃,大部分部分都变灰了。

我是通过在WPF窗口代码后面加上一个名称,然后进行设置来实现的。单击相应的按钮,IsEnabled false。所有的按钮、组合框、文本框,甚至OxyPlot在那个时候都变成了惰性,大部分部分都变灰了。

这很光滑。在ViewModel库中创建一个bool属性RaisePropertyChanged,然后可以使用MVVMLight让所有XAML视图跟随bool禁用按钮等。然后让viewmodel中的命令在需要启用/禁用控件时设置bool。这很巧妙。在ViewModel库中创建一个bool属性RaisePropertyChanged,然后可以使用MVVMLight让所有XAML视图跟随bool禁用按钮等。然后,在需要启用/禁用控件时,让viewmodel中的命令设置bool。