TryClose() closes the view twice if a DialogResult is specified in WPF

I have not tested this in Silverlight/WP7, but I ran into an issue where the CanClose guard on my screens was always being called twice if the screen was being closed with TryClose.

After doing some investigating, it looks like this only happens when you specify a DialogResult. In the Screen.GetViewCloseAction method, when you set the value on the DialogResult property the view is automatically closed. Then it gets closed again when
the close method is explicitly invoked.

I modified the Screen.GetViewCloseAction method so that it doesn't invoke the close method if the result property was set. I'm not sure if that causes any side-effects on any other platforms, but it seems to work for me.