xamarin / Xamarin.Forms

Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
https://aka.ms/xamarin-upgrade
Other
5.64k stars 1.88k forks source link

[Bug] HotReload not working for Shell Flyout Style or DataTemplate Changes #13936

Open BenBtg opened 3 years ago

BenBtg commented 3 years ago

Description

Many changes to Shell Flyout Menu Styling and or DataTemplates require a rebuild and deploy for them to be reflected in the UI. Have tried full page updates and changes only.

Steps to Reproduce

  1. Create a new shell app.
  2. Build and deploy with HotReload enabled
  3. Attempt to modify any property of the Shell.ItemTemplate e.g Background colour of the Layout
  4. Save changes

Expected Behavior

UI updates to reflect changes to Flyout Styling

Actual Behavior

Status bay says XAML Hot Reload successfull but no changes visible till redeploying app.

Note hot reload works for updating property changes to ContentViews within the Pages just not in the Flyout.

Basic Information

Environment

Microsoft Visual Studio Enterprise 2019 Version 16.9.0 VisualStudio.16.Release/16.9.0+31025.194 Microsoft .NET Framework Version 4.8.04084

Installed Version: Enterprise

Visual C++ 2019 00435-60000-00000-AA337 Microsoft Visual C++ 2019

ADL Tools Service Provider 1.0 This package contains services used by Data Lake tools

ASA Service Provider 1.0

ASP.NET and Web Tools 2019 16.9.687.37626 ASP.NET and Web Tools 2019

ASP.NET Core Blazor Language Services 16.0.19307.2

ASP.NET Core Razor Language Services 16.1.0.2107702+c4adaa061f13292143de82a96c71341e50bc4032 Provides languages services for ASP.NET Core Razor.

ASP.NET Web Frameworks and Tools 2019 16.9.687.37626 For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0 16.9.687.37626 Azure App Service Tools v3.0.0

Azure Data Lake Node 1.0 This package contains the Data Lake integration nodes for Server Explorer.

Azure Data Lake Tools for Visual Studio 2.6.1000.0 Microsoft Azure Data Lake Tools for Visual Studio

Azure Functions and Web Jobs Tools 16.9.687.37626 Azure Functions and Web Jobs Tools

Azure Stream Analytics Tools for Visual Studio 2.6.1000.0 Microsoft Azure Stream Analytics Tools for Visual Studio

C# Tools 3.9.0-6.21124.20+db94f4cc8c78a7cd8cf9cfdae091158d2ba9d974 C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools 1.10 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Cookiecutter 16.9.21026.1 Provides tools for finding, instantiating and customizing templates in cookiecutter format.

Extensibility Message Bus 1.2.6 (master@34d6af2) Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

Fabric.DiagnosticEvents 1.0 Fabric Diagnostic Events

GitHub.VisualStudio 2.11.106.19330 A Visual Studio Extension that brings the GitHub Flow into Visual Studio.

IntelliCode Extension 1.0 IntelliCode Visual Studio Extension Detailed Info

Microsoft Azure HDInsight Azure Node 2.6.1000.0 HDInsight Node under Azure Node

Microsoft Azure Hive Query Language Service 2.6.1000.0 Language service for Hive query

Microsoft Azure Service Fabric Tools for Visual Studio 16.0 Microsoft Azure Service Fabric Tools for Visual Studio

Microsoft Azure Stream Analytics Language Service 2.6.1000.0 Language service for Azure Stream Analytics

Microsoft Azure Stream Analytics Node 1.0 Azure Stream Analytics Node under Azure Node

Microsoft Azure Tools 2.9 Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.40218.1

Microsoft Continuous Delivery Tools for Visual Studio 0.4 Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.

Microsoft JVM Debugger 1.0 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft Library Manager 2.1.113+g422d40002e.RR Install client-side libraries easily to any web project

Microsoft MI-Based Debugger 1.0 Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards 1.0 Microsoft Visual C++ Wizards

Microsoft Visual Studio Tools for Containers 1.1 Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

Microsoft Visual Studio VC Package 1.0 Microsoft Visual Studio VC Package

Mono Debugging for Visual Studio 16.9.7 (df23ba6) Support for debugging Mono processes with Visual Studio.

Node.js Tools 1.5.21130.2 Commit Hash:dacc0e71a5e060cdcab466a301cacea359c1b6da Adds support for developing and debugging Node.js apps in Visual Studio

NuGet Package Manager 5.9.0 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio Extension Detailed Info

Python 16.9.21026.1 Provides IntelliSense, projects, templates, debugging, interactive windows, and other support for Python developers.

Python - Conda support 16.9.21026.1 Conda support for Python projects.

Python - Django support 16.9.21026.1 Provides templates and integration for the Django web framework.

Python - IronPython support 16.9.21026.1 Provides templates and integration for IronPython-based projects.

Python - Profiling support 16.9.21026.1 Profiling support for Python projects.

Snapshot Debugging Extension 1.0 Snapshot Debugging Visual Studio Extension Detailed Info

SQL Server Data Tools 16.0.62102.01130 Microsoft SQL Server Data Tools

ToolWindowHostedEditor 1.0 Hosting json editor into a tool window

TypeScript Tools 16.0.30201.2001 TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools 3.9.0-6.21124.20+db94f4cc8c78a7cd8cf9cfdae091158d2ba9d974 Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools 16.9.0-beta.21102.9+7ce7132f1459095e635194d09d6f73265352029a Microsoft Visual F# Tools

Visual Studio Code Debug Adapter Host Package 1.0 Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Container Tools Extensions 1.0 View, manage, and diagnose containers within Visual Studio.

Visual Studio Tools for Containers 1.0 Visual Studio Tools for Containers

Visual Studio Tools for Kubernetes 1.0 Visual Studio Tools for Kubernetes

Visual Studio Tools for Unity 4.9.1.0 Visual Studio Tools for Unity

VisualStudio.DeviceLog 1.0 Information about my package

VisualStudio.Foo 1.0 Information about my package

VisualStudio.Mac 1.0 Mac Extension for Visual Studio

Xamarin 16.9.000.271 (d16-9@863670b) Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer 16.9.0.316 (remotes/origin/d16-9@fdbf64026) Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates 16.9.68 (8e9b569) Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK 11.2.0.21 (d16-9/93eab59) Xamarin.Android Reference Assemblies and MSBuild support. Mono: 5e9cb6d Java.Interop: xamarin/java.interop/d16-9@d6d86b2 ProGuard: Guardsquare/proguard/v7.0.1@912d149 SQLite: xamarin/sqlite/3.34.1@daff8f4 Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-9@9d8924d

Xamarin.iOS and Xamarin.Mac SDK 14.14.2.5 (3836759d4) Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

Build Logs

Workaround

Did not find a workaround.

VS bug #1288149

Cfun1 commented 3 years ago

I believe hotreload for Shell has been tackled in the latest VS preview version could you confirm it? At least I tried for the flyoutitemstemplate property.

PureWeen commented 3 years ago

@Cfun1 yea it's working alright with FlyoutITemsTemplate but there are definitely still a few quirks that need to be worked through.

I've hit a few that I need to break out into separate issues

PureWeen commented 3 years ago

@drasticactions @StephaneDelcroix FYI I still need to debug these on the Shell side to see if Shell is doing something wrong but here are a few of the quirks I've noticed

I'm guessing my implementation of applying StyleClass to the generated Templates isn't quite correct and might need some @StephaneDelcroix guidance to make that all work correctly.

drasticactions commented 3 years ago

@PureWeen

For StyleClass, we got VS Feedback for it and are tracking that internally at https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1287027/ It's an issue in general with styles and styleclass's, not specific to Shell as far as I know.

For updating the FlyoutIcon, as far as I can tell, after changing the icon source it is properly being sent back up to the Icon Bindable Property with the new ImageSource, but it's not being reflected.

For Shell.ItemTemplate, I'll report back.