I'm using 12.1. XamDialogWindow being set to IsModal=True is not working like a WinForm dialog window.
Quoting the online help: "Modal dialog – This dialog window always maintains the active window status until it is closed. When a modal dialog window is opened, your end user cannot interact with any other part of the application until the dialog window is closed"
Look at the sample provided with the product. Click "Open Modal Window". Dialog windows are supposed to keep focus and block access to the rest of the app until it's closed. This is not the behavior. You can click on the other tabs (xaml, snippet, etc), the toolbar type buttons on the top are accessible and the app options on the left are also accessible. Click the XAML tab, then back to the Sample tab (which should not be allowed) and the Dialog Window is closed.
Does XamDialogWindow work as a modal window?
has it been implemented? can you please let me know in which specific version? 14.1.20141.2265? Thanks!
When I went to add this item to the backlog, it was already there. So it seems others have request this feature in the past. I will try to get this in the product.
Thank you for pointing out the discrepency between the literal definition of a modal dialog window and our controls intended use. I will make sure the documentation is updated to reflect its intended use. The term "Modal" in general is a blocking of interaction, which in the case of the XamDialogWindow, blocks interaction with the parent container.
Despite the literal definition of a modal dialog window, the XamDialogWindow is not technically a window. You probably noticed this when you declared it inside the visual tree within your XAML markup. It is technically a ContentControl which gives you the flexibility to provide a modal/non-modal dialog experience over a particular portion of your applications interface. This is something that is impossible with a "normal" modal/non-modal window.
Something to keep in mind is that this control came from the world of Silverlight, which has no concept of a Window. So the design of this control was actually extremely thought out, and provids functionality and features not provided to you by Microsoft in the Silverlight platform. It is quite possible that the "Window" in the control name was not the best choice as to not create such an expectation. Since Silverlight doesn't have a Window, the name was chosen based on the simulations of a window. Later, it was ported over to WPF to provide the same felxibility in dialog creation and behavior for WPF applications, which you still cannot do with any control provided to you by Microsoft. Even though it was ported to WPF, its intended funcitonality did not change. It remains "Modal" to its parent container.
I will add a backlog item to add this feature request to extend the modal functionality for WPF and meet the criteria for the literal definition of a "modal dialog window". Features are chosen for implementation based on a number of factors in which populatrity is one of them. Unfortunately, you are the only one that has requested this feature that I know of.
Until then, there a two ways that I can think of to achieve your expected results. One is to just use a normal WPF Window and show it as a dialog. You can take the style of the XamDialogWindow chrome and style your Window control to match. Or you can simply host a XamDialogWindow control inside a WPF Window. Be sure to hide the WPF Windows chrome and add the functionlaity of closing the Window on the XamDialogWindow closing event.
Just for future reference, I hope you do not adhere so literally to all definitions you run into. As with most definitions, there are always alternatives to them. Much like the design patterns you use to build your apps (MVP, MVC, MVVM), although they have a literal deifnition, their implementnations can vary drastically depending on who is using them.
Hello James,
Thanks for the feedback. I have address this to the documentation team.
Let me know if I can provide any further assistance.
OK, This is going to sound rude...and I don't really care: This is not a "feature request"...Call it a bug or a lousy design if you want, because a modal window is exatly what it says it is: a MODAL window-- Lock the app until the window is dealt with by the user! GEEZ.... It is NOT NOT NOT a feature request. Tell your engineers to Google the definition of "modal dialog window"-- there is 1 and only 1 definition.
Come on Infragistics! OWN UP- you have a lousy design and are trying to hide behind what your Help file even defines a modal window as. The quote is in my original post!
Customers, and I am sure I am not the only 1, can't stand vendors that won't own up to their own bad designs!
Again, quoting Infragistics Help File: "Modal dialog – This dialog window always maintains the active window status until it is closed. When a modal dialog window is opened, your end user cannot interact with any other part of the application until the dialog window is closed"
Locking the container is NOT proper functionality- own up & fix it. Do you have any idea how many hours were burned trying to make it work, when it flat out will not work as a modal window?????? YEAH--- it's damn annoying!!