Xamarin.forms: [Bug] Uwp disabled for creating new shell project

Created on 9 Apr 2020  路  3Comments  路  Source: xamarin/Xamarin.Forms

Description

UWP option is disabled for a new Xamarin forms shell project, even though UWP shell is supported
image

UWP supported was added via this issue:
https://github.com/xamarin/Xamarin.Forms/issues/5593

Here is the pull request for that:
https://github.com/xamarin/Xamarin.Forms/pull/6015

Steps to Reproduce

  1. Open dialog to create new xamarin forms project

Expected Behavior

Allow you to selected UWP

Actual Behavior

UWP checkbox disabled

Basic Information

  • Version with issue:
  • Last known good version:
  • IDE: Visual studio 2019
shell templates UWP

Most helpful comment

@chrisevans9629 we're waiting for some additional enhancements to UWP shell before we expose this on the templates.

I've added this issue to our shell backlog and I'll update the progress here once we're ready to add uwp

All 3 comments

@chrisevans9629 we're waiting for some additional enhancements to UWP shell before we expose this on the templates.

I've added this issue to our shell backlog and I'll update the progress here once we're ready to add uwp

Any word? I know Maui is probably causing lots of new work but if there is any chance we can get a 4.7 service release that enables the UWP shell as a project option that would be great. If not, would someone interested in this and in the know point me to the latest "correct-ish" way to add the UWP project and shell support on an ew 4.7 project? Thanks!

On Shell for UWP Xamarin.Forms Shell Navigation dosn't work correctly:

await Shell.Current.GoToAsync(nameof(SettingsPage)).ConfigureAwait(false);

The header changes, but the page does not load. The page builder is called. The msdn sample also doesn't work:
https://docs.microsoft.com/en-us/samples/xamarin/xamarin-forms-samples/userinterface-xaminals/

The alternative call doesn't work either:

ShellNavigationState state = Shell.Current.CurrentState;
await Shell.Current.GoToAsync($"{state.Location}/{nameof(SettingsPage)}").ConfigureAwait(false);
Shell.Current.FlyoutIsPresented = false;

Was this page helpful?
0 / 5 - 0 ratings