I've created a custom cancelation action which reverses some changes made earlier in a pop-up page. It works fine when I use the cancel button but when a user closes the pages with the X it just closes the page and not the used flow. I can use the event handlers in the domainmodel but I want to avoid event handlers as much as I can. I think there should be a better way so please let me know if there is.
Good question and way to go to avoid event handlers were possible. They make your model more complex and can impact performance as they will be triggered each and every time the corresponding event is raised.
To solve your problem you can go to the properties of the page and set the close action to your custom cancel button. This should do the trick!