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