我有一个 vb.net WPF 应用程序,它有一个模式对话框窗口,其中有一个“确定”、“取消”和“应用”按钮。“应用”按钮与“确定”按钮的作用相同,但是当单击“应用”时,模式对话框应保持打开状态。通常我喜欢调用 ShowDialog 来显示一个模态,但是当它返回时会导致模态关闭,所以我不能将它与具有“应用”按钮的模态一起使用。有人可以为我提供一个简单的解决方法吗?另一种方法是使用 .Show 显示模式对话框窗口,但在这种情况下,我不确定当用户单击其中一个按钮时如何正确返回值。
谢谢!
我有一个 vb.net WPF 应用程序,它有一个模式对话框窗口,其中有一个“确定”、“取消”和“应用”按钮。“应用”按钮与“确定”按钮的作用相同,但是当单击“应用”时,模式对话框应保持打开状态。通常我喜欢调用 ShowDialog 来显示一个模态,但是当它返回时会导致模态关闭,所以我不能将它与具有“应用”按钮的模态一起使用。有人可以为我提供一个简单的解决方法吗?另一种方法是使用 .Show 显示模式对话框窗口,但在这种情况下,我不确定当用户单击其中一个按钮时如何正确返回值。
谢谢!
对话框的关闭由用户单击“确定”按钮时执行的代码处理。因此,除了 Close() 调用和设置 DialogResult 的调用之外,您可以将所有代码移至一个函数。然后,您可以从 OK 处理程序(或 ICommand)和 Apply 处理程序(或 ICommand)中调用该函数。然后不要从 Apply 按钮调用 Close()。
带有“应用”按钮的对话框通常不是模态的,但一种方法是实例化您的对话框并为其提供 ViewModel,通过该视图模型DataContext
,您的对话框数据可以在调用对话框的函数和对话框本身之间共享。然后,连接您的“应用”按钮以由模式对话框和您拥有的任何 ViewModel 代码处理,可能通过 ICommand 绑定。
让我们知道样本是否有用。