I am converting a WPF XBAP app to a WPF desktop app. I have it running on the desktop, but am now trying to change the Page references to Window references.
'MyApp.StartForm' root element is not valid for navigation.
I have tried creating a simple version of this app and converting that, and this works fine, so there must be something within the XAML that is causing this when using Window tags. My question relates to how I can investigate this. Currently, all I get is this error, accompanied by a "No Source Available" screen; no stack locations are shown and "Show Disassembly" doesn't work. Other than systematically commenting out individual chunks of XAML until it works, is there a way to work out what this issue is?
Navigation in a WPF application can only be done between pages. The error shows up because you're trying to "navigate" to what is now a Window, and this isn't possible.
Instead of converting your Page into a Window, create a new Window with a Frame
control in it. A Frame
can be used to host your existing pages - which should stay exactly as they are, and not be changed into Windows.
Its not entirely accurate about it not being possible to host a window in a frame, the following code will do it for you
public void HostWindowInFrame(Frame fraContainer, Window win) {
object tmp = win.Content;
win.Content = null;
fraContainer.Content = new ContentControl() { Content = tmp };
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With