Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Winforms like designer with optional hot reload xaml window #3439

Open
Shadowblitz16 opened this issue Nov 17, 2021 · 99 comments
Open

Winforms like designer with optional hot reload xaml window #3439

Shadowblitz16 opened this issue Nov 17, 2021 · 99 comments
Labels
area-tooling XAML & C# Hot Reload, XAML Editor, Live Visual Tree, Live Preview, Debugging proposal/open s/move-to-vs-feedback Tells automation to ask the person to use VS Feedback to report the issue
Milestone

Comments

@Shadowblitz16
Copy link

Shadowblitz16 commented Nov 17, 2021

Description

Can we have a winforms like designer for maui for vs and vs code?
Winforms has one of the best drag and drop designers that Microsoft has ever produced.
Only being compared to something like vb6.

Of course we would need a live xaml editor with hot reload but both the xaml editor and the forms designer should be closable for small single monitor work spaces.

Public API Changes

It doesn't really need any public api changes as far as I know.
Its more of a visual designer suggestion.

Intended Use-Case

Rapid prototyping and development for both xaml and winform developers .

@Eilon Eilon added the area-xaml XAML, CSS, Triggers, Behaviors label Nov 18, 2021
@XeonG

This comment has been minimized.

@davepruitt
Copy link

Rather than a winforms-like drag-and-drop designer, I would prefer just a simple XAML previewer/designer like they used to have for Xamarin Forms and like they still have for WPF.

I have no clue why they removed the Xamarin Forms XAML previewer, because its' removal has seriously hampered UI design. See this Xamarin Forms issue here: xamarin/Xamarin.Forms#14170

Hot-reload and "live previewer" are no substitute for a good design-time previewer, because they require the application to be running.

@MagicAndre1981
Copy link
Contributor

I still prefer a winforms-like drag-and-drop designer, I hate this XAML only "design" way. I spend most time trying to make the UI look somehow useable. And the hotreload thing is an ugly workaround which never really works for me.

@pieckenst
Copy link

Yeah a xaml drag and drop designer would be a thing good to have , and make designing application ui simpler and more intuitive

@davepruitt
Copy link

Similar issues continue to get raised, but Microsoft keeps closing them:

#6782
#8610

@GuildOfCalamity
Copy link

How the hell does WinForms, WPF & UWP have a real-time designer and MAUI somehow does not?????
Is there no QA process at MS anymore? How could you ship VS2022 and not make sure this works... the designer was kind of buggy in VS2019 but I thought it would be completely improved by VS2022.

@dazlab
Copy link

dazlab commented Jul 20, 2022

Removing the XAML Designer and telling people to use Hot Reload is a major fail. You can only make minor changes before having to rebuild and re-deploy in Hot Reload. It's an absolute nightmare. In the Out-of-the-Box default MAUI app I tried adding an extra button and it wanted a rebuild, which took over 1 minute. This is your solution? Having to do this every time you make a small tweak to the design is not productive.

Tools like Basic4Android allow you to connect to a device and move elements ON THE DEVICE during the design phase, and has had this for years. The Xamarin XAML Designer was fairly buggy, true, but this is a huge step backwards.

Why, oh why, do M$ keep making these schoolboy errors. One step forward and three back.

@Steven-L-42
Copy link

Steven-L-42 commented Jul 31, 2022

Hope MAUI is going to have this again.
Otherwise i cant understand the big step back.

I think Flutterflow is going to show us how this can work.
Also WinForms or WPF show us how big this improvement is.

Please bring us a Designer, Hot Reload cant replace this.

BRING US THE GREAT SH*T !

I wasting time while i need to rebuild everything, this steals so many hours.
How do you want to build apps efficient without a Designer?

@halal-beef
Copy link

yeah, just loaded up maui wanted to make a decent ui and im met with xaml text, i like to look at things visually... to you know actually design

@saber-wang
Copy link

Without a designer, it is difficult to write the desired interface.

@jaworekplay
Copy link

Personally I don't care for WinForms designer, since it is using Margins (yuck!) when placing elements on a control. Preview of Window/UserControl would be great. Some apps are huge and it takes a long time to load, HotReload also won't really work if some assemblies are being loaded manually. Really a step backwards. No need for drag and drop.
#KeepDesignerSimple

@davepruitt
Copy link

Personally I don't care for WinForms designer, since it is using Margins (yuck!) when placing elements on a control. Preview of Window/UserControl would be great. Some apps are huge and it takes a long time to load, HotReload also won't really work if some assemblies are being loaded manually. Really a step backwards. No need for drag and drop. #KeepDesignerSimple

Yeah most people aren't wanting a drag-and-drop designer, but rather a XAML designer/previewer similar to what is already available in WPF, or what was previously available in Xamarin Forms.

@Siox0911
Copy link

Siox0911 commented Sep 7, 2022

Plz vote up this on the feedback page.
https://developercommunity.visualstudio.com/t/MAUI-XAML-Designer-and-editor-not-workin/1589956

@k3ldar
Copy link

k3ldar commented Sep 28, 2022

Coming from a WinForm/Web background (no WPF etc) I really wanted to try MAUI with a new project I have, however, without some form of gui editor I have no starting reference, especially as intellisense does not show anything and trying to obtain help from within the .xaml loads a generic page (showing a gui editor).

With no reference of what controls or properties are available within MAUI some form of gui editor is sort of essential from my PoV.

Hot reload is great, but only if you know what controls to add to a xaml file and what properties to set, so a +1 from me on this feature request

@Khaldoun-Baz
Copy link

I don't know why Microsoft is always complicating things, it is that hard to make a visual designer or previewer for MAUI?
Really I do not understand it's like pushing developers away, I do not know if I will invest more time in MAUI.

@dragnilar
Copy link

I'm going to have to add to the demand for a designer, or at least some type of in vs preview. Hot reload is too unreliable and too slow to get a visual representation of xaml changes.

@vigouredelaruse
Copy link

vigouredelaruse commented Oct 20, 2022

if this is a voting situation i vote for maui support from the xaml designer. with one product announcement much discontent would be eliminated. i doubt that would mean the elimination of any legacy xaml designer departments

also

  • private enterprise is not illegal everywhere
  • where private enterprises are legal nothing prevents private enterprises from publishing a maui xaml designer on github, or the app store
  • there's an actual place called maui. wow

@da-vics
Copy link

da-vics commented Oct 23, 2022

this is a voting situation i vote for m

Personally I don't care for WinForms designer, since it is using Margins (yuck!) when placing elements on a control. Preview of Window/UserControl would be great. Some apps are huge and it takes a long time to load, HotReload also won't really work if some assemblies are being loaded manually. Really a step backwards. No need for drag and drop. #KeepDesignerSimple

Yeah most people aren't wanting a drag-and-drop designer, but rather a XAML designer/previewer similar to what is already available in WPF, or what was previously available in Xamarin Forms.

100%

@zbyna
Copy link

zbyna commented Oct 23, 2022

From my point of view XALM is horrible even for using not mentioned large projects debugging. It is better to use https://docs.godotengine.org/en/stable/tutorials/ui/index.html for creating UI than recent ms products. There are good to use multiplatform RAD tools like: https://github.com/wxFormBuilder/wxFormBuilder or https://www.lazarus-ide.org/
but not for c#.

@Siox0911

This comment was marked as off-topic.

@MisinformedDNA

This comment was marked as off-topic.

@dragnilar

This comment was marked as off-topic.

@GuildOfCalamity
Copy link

Fun fact. You can design a .Net maui App in Blender...

How?

Same question. I tried looking into this and I could not find anything.

That's because it's a vapid comment, he's saying you can create a graphic visual. You can also draw a circle in Paint, but that's not going to help anyone with the lack of a real-time designer in VS.

@XeonG
Copy link

XeonG commented Jul 25, 2023

"Continuing my comment from yesterday: I spent 2-3 hours creating a pop-up dialog because I had to continuously compile/re-build/re-deploy every single time I made a change to the XAML. "

Sounds terrible, by design this must be the goal of MS.. waste people's time, so long as you aren't ditching everything they do and still doing something with there crap they'll keep on track with this bullshit.

They don't want to invest in building such tools for there own stuff, which shows how much confidence they have in it. The fact MAUI (stupid product name 🏝) has the competition in the same space with UNO/Avalonia just makes everything MS is doing in this space seem dumb, they have the money to fund doing something better.

@dragnilar
Copy link

I hate to be the bearer of bad tidings, but MS has no intention of listening to our whining. They are more interested in concentrating on getting MAUI ready for .NET 8 (see this)

And after that they'll be working on getting it ready for .NET 9 and so on and so forth. All/most of the bugs fixed in the latest preview was all for the desktop, ie Windows, so anybody using MAUI for devices will have to wait.....probably "at infinitum".

Which just goes to show how underfunded/understaffed the team must be. If there has to be so much focus on "preparing MAUI for the next .NET version", nothing will ever actually get done.

Continuing my comment from yesterday: I spent 2-3 hours creating a pop-up dialog because I had to continuously compile/re-build/re-deploy every single time I made a change to the XAML. Then of course I had to also navigate to the correct place in my app to view the pop-up dialog. Hot reload didn't work at all. The whole process would have taken me 10 minutes if I had a XAML designer.

I believe it. It's even worse imo if you have Android involved.

@soroshsabz
Copy link

ITNOA

I think WinUI 3 and MAUI has same infrastructure for XAML Islands, so I think Microsoft must consider all request from WinUI 3.0 XAML Designer too for prioritizing this request to implement or not.

@Noemata

This comment was marked as off-topic.

@Enxyphered

This comment was marked as off-topic.

@vslee
Copy link

vslee commented Sep 16, 2023

@Enxyphered, I am interested in a MAUI designer as much as anyone else, but let's keep things respectful. Hurling insults isn't helpful.

@CAKCy
Copy link

CAKCy commented Sep 19, 2023

Please read and act accordingly!

image

The link again:
https://developercommunity.visualstudio.com/t/Feature-request-Visual-designer-for-Wi/1608476?q=WinUI+Designer

Oh! And SPREAD THE WORD!
PLEASE!

@davepruitt
Copy link

I went to the link you provided and I up-voted it and posted a comment. Once again I am so amazed that Microsoft has basically ignored this issue for years now.

@MSBassSinger
Copy link

MSBassSinger commented Oct 26, 2023

The lack of drag-and-drop, visual designers like the WinForms designer is a worse problem for MS than they admit to realizing.

Consider that in the 1990s, one small team created the first (and wildly popular and emulated by competitors) visual designer for Visual Basic. Over time, this was migrated to Visual Studio when it replaced the Visual Basic IDE and Visual C++ IDE. It was popular precisely because it added value that "hot reload" designers cannot.

How?

  • For any given project, there is a set deadline by which to deliver.
  • There are finite development resources for the code writing portion of the SDLC, generally counted as number of developers.
  • The number of developers have a limited number of person-hours each to finish their work.
  • The person hours per developer can be calculated as T = #HoursUntilDelivery/#Dev
  • Without a drag-and-drop designer, a significantly larger percent of T is spent on UI design.
  • Likewise, a significantly smaller percent of T is devoted to the code behind (validation, business logic, data access, etc.).
  • If the development phase of the SDLC were an iceberg, the code behind portion is the part underwater (which is the vast majority).
  • With a drag-and-drop designer, a much smaller percent of T is spent on UI design.
  • Likewise, a significantly larger percentage of T is devoted to code behind, thus making the time spent proportional to the need and improving the quality of the project. That means less QA time is needed, and less refactoring initiated from the user testing.
  • Microsoft developers and program managers have come up through the command line/scripting paradigm that Windows developers left behind in the mid-1990s. To them, "hot reload" is a game changer, but only in the sense that someone from 1850 would see a rotary phone as a technological leap, ignoring the far greater productivity and ease of a 2023 smartphone.
  • As has happened throughout software development history, if Microsoft is unable to get their heads out of the rotary phone age and into the smartphone age (so to speak), they will go the way of those Microsoft replaced in past years that refused to make wise choices. Where is dBase, Wordperfect, Lotus 1-2-3, and others that either disappeared or exist only with a tiny number of users? Microsoft is not immune to that, and if Visual Studio is abandoned for UI development because the MS program managers are too enthralled with rotary phones, then it is only a matter of time before other MS products follow suit.

There is a solid argument, both in terms of revenue and technology, for a single drag-and-drop UI builder that services WinForms, MAUI (XAML), Blazor (HTML), and perhaps others by using the same principle (in reverse) that .NET uses when it writes multiple coding languages (C#, VB, etc.) as the same MSIL code. But first, MS has to assign or hire those with the vision and intellectual capabilities to do what Alan Cooper and his small team did (in principle) for WinForms back in the 1990s.

@MSBassSinger
Copy link

Please consider upvotes for:
https://developercommunity.visualstudio.com/t/Create-Common-Drag-and-drop-Designer-for/10501474

@soroshsabz
Copy link

Please consider upvotes for:
https://developercommunity.visualstudio.com/t/Create-Common-Drag-and-drop-Designer-for/10501474

@MSBassSinger please add your great description in to the main developer community ticket for bring back visual designer for all UI frameworks

Thanks

@soroshsabz
Copy link

@MSBassSinger

Microsoft change Developer Community ticket for this request, so please vote up this ticket.

https://developercommunity.visualstudio.com/t/XAML-Designer-for-Net-MAUI/10224319

@soroshsabz

This comment was marked as off-topic.

@soroshsabz

This comment was marked as off-topic.

@pinkfloyd11
Copy link

Please add Visual Designer for MAUI.
It is nonsense not have it in 2024...

@jnpl95
Copy link

jnpl95 commented Feb 28, 2024

Lots of people have made good points about why this feature is sorely needed. Wasting dev hours on UI design, especially for small teams is unnecessary. Rapidly prototyping UI development via drag and drop in a visual designer would save so much time. Having hot reload isn't the same.

I commented on this issue in Mar 2023, and it's been a year and still considered an open proposal after all the valid points raised. Will check back in Mar 2025, hopefully 4 years will be enough for the queue to be cleared and have this tooling be implemented.

@Daniel-Sh-uq

This comment was marked as off-topic.

@dy-dev

This comment was marked as off-topic.

@GuildOfCalamity

This comment was marked as off-topic.

@vamman

This comment was marked as off-topic.

@mattleibow mattleibow added the s/move-to-vs-feedback Tells automation to ask the person to use VS Feedback to report the issue label May 30, 2024
Copy link
Contributor

Thanks for the issue report @Shadowblitz16! This issue appears to be a problem with Visual Studio, so we ask that you use the VS feedback tool to report the issue. That way it will get to the routed to the team that owns this experience in VS.

If you encounter a problem with Visual Studio, we want to know about it so that we can diagnose and fix it. By using the Report a Problem tool, you can collect detailed information about the problem, and send it to Microsoft with just a few button clicks.

  1. Go to the Visual Studio for Windows feedback tool or Visual Studio for Mac feedback tool to report the issue
  2. Close this bug, and consider adding a link to the VS Feedback issue so that others can follow its activity there.

Copy link
Contributor

Thanks for the issue report @Shadowblitz16! This issue appears to be a problem with Visual Studio (Code), so we ask that you use the VS feedback tool to report the issue. That way it will get to the routed to the team that owns this experience in VS (Code).

If you encounter a problem with Visual Studio or the .NET MAUI VS Code Extension, we want to know about it so that we can diagnose and fix it. By using the Report a Problem tool, you can collect detailed information about the problem, and send it to Microsoft with just a few button clicks.

  1. Go to the Visual Studio for Windows feedback tool or .NET MAUI VS Code Extension repository to report the issue
  2. Close this bug, and consider adding a link to the VS Feedback issue so that others can follow its activity there.

@jsuarezruiz jsuarezruiz added this to the Triaged milestone Jun 6, 2024
@GMPrakhar
Copy link

GMPrakhar commented Jul 25, 2024

I was newly trying out MAUI and stumbled upon this. I have created a repo to handle the designer task: https://github.com/GMPrakhar/MAUI-Designer. Currently it supports the rendering of the XAML live, e.g:

image
image
image

It was quite easy, as MAUI has an extension method that supports direct XAML rendering. Not sure why isn't it being used yet?

@GMPrakhar
Copy link

The code is basically:

        var xaml = Editor.Text;
        try
        {
            Extensions.LoadFromXaml(Shower, xaml);
        }
        catch (Exception)
        {
            Application.Current.MainPage.DisplayAlert("Error", "Invalid XAML", "OK");
        }

@samhouts samhouts modified the milestones: Triaged, Backlog Aug 26, 2024
@soroshsabz
Copy link

@samhouts What is meaning of changing milestones? maybe we can be happy to Microsoft wants to start development of UI Designer?

@sasakrsmanovic
Copy link

Many in this thread will be pleased to learn that a Visual UI Designer now exists for cross-platform .NET Apps. It is called Hot Design, provided via Uno Platform, so you are still using .NET, Visual Studio (or other IDEs) and and your existing skills to get the work done.

Announcement: unoplatform/uno#18833

.NET Conf 2024 Session on Hot Design:
https://www.youtube.com/watch?v=sJPyieyt1Rc&list=PLdo4fOcmZ0oXeSG8BgCVru3zQtw_K4ANY&index=93

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-tooling XAML & C# Hot Reload, XAML Editor, Live Visual Tree, Live Preview, Debugging proposal/open s/move-to-vs-feedback Tells automation to ask the person to use VS Feedback to report the issue
Projects
None yet
Development

No branches or pull requests