I have a vb.net WPF application that has a modal dialog window that has an “Ok”, “Cancel” and “Apply” button. The “Apply” button does the same work as the “Ok” button but when the “Apply” is clicked the modal dialog box should stay open. Normally I like to call ShowDialog to display a modal but that results in the modal closing when it returns so I can’t use that with a modal the has an “Apply” button. Can someone provide me with an easy work around? The alternative is to display the modal dialog window using .Show but in this case I’m not sure how to properly return values when the user clicks on one of the buttons.
Thanks!
The closing of the dialog is handled by the code that executes when the user clicks the OK button. So you could move all of that code to a function with the exception of the Close() call and the call that sets the DialogResult. Then you can call that function from both the OK handler (or ICommand) and the Apply handler (or ICommand). Then just don’t call Close() from the Apply button.