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

Discussion: WinUI 3.0 XAML Designer #5917

Open
GeorgeKerwood opened this issue Sep 19, 2021 · 364 comments
Open

Discussion: WinUI 3.0 XAML Designer #5917

GeorgeKerwood opened this issue Sep 19, 2021 · 364 comments
Labels
area-Tooling discussion General discussion product-winui3 WinUI 3 issues team-Markup Issue for the Markup team

Comments

@GeorgeKerwood
Copy link

Please forgive the faux pas if readdressing closed issues is not the "done thing", however with the release of Windows App SDK 1.0.0 I was surprised to still not see any timeline or discussion on this point. With reference to #3656 and #3644, Visual Studio XAML Designer does not support WinUI 3.0.

Respectfully, this is a crippling barrier to entry which for most intents and purposes renders the framework unadoptable.

I would be grateful to hear if there were plans to support graphical xaml design within VS, Blend or equivalent and if so on what timeline? Interim alternatives or "work arounds" would also be very helpful.

Kind Regards

@GeorgeKerwood GeorgeKerwood added the discussion General discussion label Sep 19, 2021
@ghost ghost added the needs-triage Issue needs to be triaged by the area owners label Sep 19, 2021
@kmgallahan
Copy link
Contributor

kmgallahan commented Sep 19, 2021

IMO, Hot Reload and Live Visual Tree are fine - especially considering the effort/hours needed to support a separate designer, while also trying to make any meaningful progress on the ~2100 open issues.

The team also mentioned this is the direction that want to go instead of making a designer, but I can't remember exactly where this was stated.

@Symbai
Copy link

Symbai commented Sep 20, 2021

and if so on what timeline?

In the past they said a designer is not planned for 1.0 and not planned for the near future. At the current broken state of WinUI I would also rather focus them on fixing bugs. I mean you cannot even set a window title without using workarounds 🤦‍♂️

@GeorgeKerwood
Copy link
Author

IMO, Hot Reload and Live Visual Tree are fine.

@kmgallahan I'd be inclined to agree with you however, so far I've found neither to be supported by the "WinUI 3 in UWP" or "WinUI 3 in Desktop" project types provided by the Windows App SDK Extension. I'd imagine you've been succeeding with with WinUI 2 in UWP Apps? Am I missing something? Thanks

@kmgallahan
Copy link
Contributor

kmgallahan commented Sep 20, 2021

@GeorgeKerwood I won't try to identify all the versions and periods of time where Live Visual Tree & Hot Reload have and haven't worked, but as of right now using the latest version of VS 2019 with WindowsAppSDK 1.0.0-preview1 they are both functioning in a WinUI 3 Desktop / Win32 app. That includes hot reload for both XAML and CS (while debugging managed code only).

My point was more to say that since those are the things the team is investing time into, I'm fine with using them going forward.

@GeorgeKerwood
Copy link
Author

@kmgallahan Thank you for the input. Updating to the very latest VS 2019 brought both Hot Reload and LVT to life. I agree that together they serve the graphic design purpose for the interim.

The team also mentioned this is the direction that want to go instead of making a designer, but I can't remember exactly where this was stated.

Personally, I'd still like to see a designer in the long term since I find it a more time efficient way of generating xaml, however I can see both sides.

@StephenLPeters
Copy link
Contributor

@ryandemopoulos FYI

@StephenLPeters StephenLPeters added area-Tooling product-winui3 WinUI 3 issues team-Markup Issue for the Markup team labels Sep 22, 2021
@MEK3DK
Copy link

MEK3DK commented Sep 24, 2021

@kmgallahan Hot reload still has issues in WinUI 3, like this one: #5944

@GeorgeKerwood I agree that in order to enable a large number of developers (especially people who just try WinUI 3 or people who are not proffesional developers) to use WinUI 3 the designer is needed.
However as @Symbai mentions even basic stuff does not work atm so something non-critical is a long way off. You can also not set width and heigth of a window without workarounds :-)

@sonnemaf
Copy link
Contributor

I think not having a Designer in Visual Studio 2022 and Blend for Visual Studio is a big mistake. It will withhold WPF and Windows Forms developers to switch to WinUI3. Having Xaml Hot Reload and Xaml Live Preview is not an alternative. I do 95% of my XAML development (WPF and UWP) in the XAML Code Editor. But I can't live without the 5% I do in the Designer. The productivity loss I will have is enormous. Let me give you a few examples of what I use the designer for and what I can't do in the XAML Code editor. Please implement the Designer for WinUI3 soon. It is even not on the planboard, not even in the backlog. I have submitted a new idea for it. Hopefully it will be picked-up soon so others can upvote it.

Add/Delete/Move Columns and Rows to/from a Grid

In the Designer you can easily Add/Delete/Move Columns and Rows to/from a Grid. If you do so it will update the Column/Row attached properties of all elements inside the Grid. You don't want to do this manually. It is a real productivity boost.

image

It would really be nice if the XAML Designer for UWP would display the RowSpacing and ColumnSpacing properties of a Grid and the Spacing of a StackPanel.

Create Storyboards

You can easily create Storyboards in Blend for Visual Studio using a "recorder". Something you can't do in Visual Studio (which I find stupid). The Objects and Timeline (aka Document Outline Window) has a special '+' button for it.

image

The recorder let's you create KeyFrames and easily select easing functions for it.

image

You don't want to create a storyboard in the XAML Code Editor by hand. A Storyboard is often very large piece of XAML which is very difficult to write by hand, especially the begin and end times of all keyframes.

Visual States

I can easily create Visual States using Blend for Visual Studio. For each Visual State I can add Triggers, Setters and Storyboards. I can even record the Storyboard and use transitions.

image

You don't want to create Visual States in the XAML Code Editor by hand. Especially the ones which have Storyboards. Most of the Visual States in control Templates are still using Storyboards, not the 'new' Setters.

image

Add Behaviors

You can add Behaviors in Blend for Visual Studio using the Assets Window. Something you can't do in Visual Studio (which I find also stupid). You get a visual feedback when a Behavior can or can't be dropped on an element. You can als

image

The Property Window of Visual Studio just doesn't show all properties of an Behavior. For example I can't select the Storyboard for this ControlStoryboardAction. Something I can do in the Designer of Blend.
image

You don't want to add Behaviors in the XAML Code Editor by hand.

XAML Designer Suggested Actions

They work great. They are new. Why abandon them?
image

Edit Template and Additional Templates

Only in the designer you can easily create templates. I don't know how else I would create one. I never do this in the XAML Code Editor.
image

Many small features

Setting the Order, Alignment and Layout (most often Reset All). You don't want to set the z-order manually.
image

Add/Edit Flyouts
image

Show Designer in different resolutions, scaling and orientation
image

XAML Design Time Data
https://docs.microsoft.com/en-us/visualstudio/xaml-tools/xaml-designtime-data?view=vs-2022

@StephenLPeters
Copy link
Contributor

@fabiant3 and @codendone FYI

@jschroedl
Copy link

I'm with @sonnemaf on this one. I use Blend for adding Behaviors, cloning and customizing themes and templates for controls. I would also want to manage visual states if WinUI has those. So much of what I know now re: WPF has come via the designer and blend. I would make changes and look at what happened to the XAML. I am planning the approach for migrating a WPF-based application to WinUI and had expected that there would be designer and/or Blend support for that XAML as well. It's a shock that it's not there.

XAML hot reload does not work for my app btw as it contains some C++/CLI code for interop with a large body of native code. The hot reload does not work with my project because of the lack of support for /clr code. ie. Edit and Continue is not supported for my project.

@BarcodeResource
Copy link

Our team is porting an existing UWP app to WinUI3 targeting Windows 11. We definitely appreciate having Blend support as soon a possible. The rounded corner elements in Windows 11 do require us to make quite some adjustments to the element Styles, specifically the the Blend -> Element -> Edit Template -> Edit a Copy capabilities.

@mdtauk
Copy link
Contributor

mdtauk commented Nov 23, 2021

Microsoft should look to its Android Studio and XCode contemporaries, with Android, iOS, and macOS designers for good UI designers/previewers - rather than to what is currently provided to UWP/WPF/WinForms.

There is a rich surface here that could be made more designer friendly, Via Blend - which can be handed off to the code teams in Visual Studio.

@sonnemaf
Copy link
Contributor

Microsoft should look to its Android Studio and XCode contemporaries, with Android, iOS, and macOS designers for good UI designers/previewers - rather than to what is currently provided to UWP/WPF/WinForms.

There is a rich surface here that could be made more designer friendly, Via Blend - which can be handed off to the code teams in Visual Studio.

A designer with better features would be perfect. But also take more time. Maybe give us first the UWP designer and then add features to it.

@HEIC-to-JPEG-Dev
Copy link

I'd add that hot reload and live visual tree are not a replacement as they require the app to be compiled, launchable. If I'm working on an app, I have to ensure all code compiles and the app launches to be able to use the XAML live preview. I don't want to have to wait for other paths to be completed first. The "you have to wait for the backend code to be completed before you can build the view" is not a good experience.

@devdelimited
Copy link

IMO, while the Hot Reload and Live Preview make for flashy demos, they are nice-to-haves. The Designer is a MUST HAVE.

@HydrogenC
Copy link

Yep. A designer is crucial for creating control templates or story boards, as well as setting properties. It is a MUST unless a better alternative for these shows up. Besides, having no xaml designer makes Blend for Visual Studio a useless application.

@sunsewingmachine
Copy link

sunsewingmachine commented Dec 10, 2021

I am really unable to believe that this is a bug. XAML Designer is an essential part of app development. Still couldn't believe it. Is it a bug or intended behavior? If it is a bug, how can we developers trust the other functionalities of WinUI 3? Please show us a clear path, UWP or WinUI, or something else?

@kmgallahan
Copy link
Contributor

I am really unable to believe that this is a bug.

Who said not spending the time to create a tool was a bug? They've clearly stated on multiple occasions that they are investing in Hot Reload over a dedicated designer at this time.

Please show us a clear path, UWP or WinUI, or something else?

microsoft/WindowsAppSDK#1615

@sunsewingmachine
Copy link

sunsewingmachine commented Dec 14, 2021

They've clearly stated on multiple occasions that they are investing in Hot Reload over a dedicated designer at this time.

Okay. I agree, sorry for my misunderstanding. Though, we do love to have a designer for the same reasons others have mentioned.

@tuggernuts
Copy link

IMO, while the Hot Reload and Live Preview make for flashy demos, they are nice-to-haves. The Designer is a MUST HAVE.

Can't agree with this more. Hot Reload is great when I'm fine tuning the design. But from a blank page? Designer is how things get built. Unbelievable that this UI was released without one.

@calloncampbell
Copy link

I've developed in WinForms, WPF and UWP and I'm finding it hard to jump into WinUI 3. This is supposed to be the next generation UI framework and at every step, there seems to be something missing...no designer, lack of demos, sparse docs and even the launch was non-eventful. I want WinUI to succeed but right now it's still very much a "preview".

Hot Reload is nice when it works but I'm curious why the designer in VS and Blend could not be updated to support WinUI when it's done so since WPF. It feels like the design-time experience has been dumbed down.

@Rybasum
Copy link

Rybasum commented Dec 23, 2021

I write 100% of XAML by hand, but I very much need to see the result rendered somewhere as I type, before running the app! (yes, live preview is great, thank you). Please, give us even a rudimentary initial version of Designer that just renders my XAML.

@nick-911
Copy link

I wanted to create a new app and jump onto WinUI; but no designer is just plain crazy.
ok, it can be learned and probably will get used to it more or less but it's much more productive to design a complex ui in a visual designer than having to edit the xaml the whole time. :-(
Adding a window with just a textbox and button, so far that will be easy and no issue but real-world applications don't have 2 basic controls on them!

And this isn't a bug but just a basic requirement.

@Marren85
Copy link

Marren85 commented Nov 30, 2023

I'm assuming this is now sorted as we've passed the two year anniversary of this issue being opened and the community has made its thoughts clear.......

@megabytesme
Copy link

Just liked and commented on that post. Guess I'll make my new app as a UWP app instead... 🙃

I really can't be asked to deal with all the UI elements myself when there is other better ways...

@MCAleckson
Copy link

Sitting here, AGAIN, for hours today in a complex XAML page with complex databindings - and no XAML design view or previewer so I have to:

  • build the app
  • execute cloud login with UID and PW
  • navigate to the screen
  • examine the effects of the XAML change
  • lather, rinse, repeat.
  • then:
  • deeply desire to change vocations, perhaps buy some land and become a farmer.

Everything takes 20x the time without the simple ability to preview the stinking XAML page without invoking the build cycle.


Still
so
frustrated.

@gsonnenf
Copy link

Its unfortunate that I've pretty much abandoned any premise of using WinUI 3.0. Slow response to community need will ensure the platform does not reach critical mass for community adoption of technology.

@MCAleckson
Copy link

Aaaaand, here's yet another day 87% wasted on build/login/navigate/lather/rinse/repeat cycles because Microsoft has removed any ability to visually preview a UI from Microsoft Visual Studio.

Happy New Year y'all!

@soroshsabz
Copy link

@craigloewen-msft Any update?

How many votes and comments needed to start this issue?

@Marren85
Copy link

Marren85 commented Jan 9, 2024

The real question is will WinUI 4 have a design view?!? This is the most commented issue for the SDK and is basically ignored as the elephant in the room

@Jimbo99
Copy link

Jimbo99 commented Jan 9, 2024

The real question is will WinUI 4 have a design view?!?

Do we know, is WinUI 4 confirmed, or has it even been mentioned by anyone at MS? I would be happy if so; I'm not feeling at all secure developing wth WinUI 3 currently (having been burned by UWP).

@jp-weber
Copy link
Contributor

jp-weber commented Jan 9, 2024

Aaaaand, here's yet another day 87% wasted on build/login/navigate/lather/rinse/repeat cycles because Microsoft has removed any ability to visually preview a UI from Microsoft Visual Studio.

I don't understand why you do this to yourself and don't use something that meets your requirements? For me, this is one of the reasons why I won't be using WinUI3 and will rely on UWP instead.

@MCAleckson
Copy link

jp-weber, there's a few reasons, but one big one is I'd have to rewrite 4 years of my team's code to convert to something else. UWP won't do the trick for my huge codebase to migrate to. And as well various components I've used for years work/don't work in a multiplatform environment (IOS/Android/WASM).

It's a mess. But I agree with you in this point - if it was a green field for me today, there's no way I'd go WinUI/VS.

@Marren85
Copy link

Marren85 commented Jan 9, 2024

The real question is will WinUI 4 have a design view?!?

Do we know, is WinUI 4 confirmed, or has it even been mentioned by anyone at MS? I would be happy if so; I'm not feeling at all secure developing wth WinUI 3 currently (having been burned by UWP).

I've not seen anything mentioned but we are getting towards next version time. I cant believe how big a let down this has been. In the past there were regular community calls every month or since 2020 yet there hasn't been one for 6 months I believe, everything I see says WinUI isn't in active development and MS have given up on it due to the massive errors in judgement.

@soroshsabz
Copy link

soroshsabz commented Jan 11, 2024

@soroshsabz
Copy link

@maddymontaquila Did you see this issue and community comments?

@SongOfYouth
Copy link

What i really need is a solution like designer host in winform, so i can do some awesome thing with low/no code.

@ChefAndy
Copy link

Jeez... This nearly guarantees that WinUI 3 applications will consistently have the most poorly designed UIs of any serious modern native UI framework. Usability is already considered overhead in many projects; teams that could have spent their time making their UIs decent will now spend all of that time making them basically functional.

@xperiandri
Copy link

Hot Reload does not work. That is crazy!!!

@xmaxrayx
Copy link

xmaxrayx commented Jul 7, 2024

why people recommend this framework when it looks for nerd who are ok press 1000 times reload button to make sure everything fit? most unenjoyably thing.

@xmaxrayx
Copy link

xmaxrayx commented Jul 7, 2024

Ok I found you can use xaml live future better than nothing.

devenv_SKdYLhJC4w

@Jay-o-Way
Copy link
Contributor

you can use xaml live future

Looks nice, need to check that 😀

@BTBLF
Copy link

BTBLF commented Jul 15, 2024

There is a table here https://learn.microsoft.com/en-au/windows/apps/get-started shows which is supported:
image

@Alex-lowe
Copy link

+1 for this issue.

This is a blocker for me bothering to even install tooling to try learn this framework. I wanted to try modern Windows UI development, but this issue convinced me to unironically use WinForms instead.

My use case is the classic "we need internal tooling for developer-only use". A tale as old as time. At first, I had planned on writing a simple PowerShell script to get things done, but the requirements have rapidly outgrown PowerShell. I considered writing a CLI tool, but my company-supported language choices are Python or C#. Python is too slow, and building a clean, responsive, lightweight CLI binary using C# is giant mess of AoT trimming errors whenever I try to include external libraries. Maybe in 3 years most C# libraries will cleanly support AoT compilation. It's blazing fast when it actually works. That would be amazing. But that future is not today.

So I'm just going to build a UI instead. I don't want to bother with web hosting, so I need a desktop UI framework with a basic designer to deliver simple apps really fast.

I wanted to try out some more modern Windows UI tools, but the requirements don't support spending time fiddling with XML configuration files, or learning a brand new set of tooling. I just need to build some internal company dev tools. I need an easy way to throw together stuff quickly. I don't need any complicated UI elements, no advanced interactions or clean UX. Cross platform compatibility isn't needed. I gave that up when I decided to build a UI instead of a CLI. All we need is a big blob of simple buttons, input boxes and labels. Which is exactly the promise of WinForms. Build something half decent, really fast. "One of the most productive ways to create desktop apps" is what the documentation says.

Deprecated though it may be, this issue has confirmed that I'm going to be building brand new tooling in WinForms. I can't afford to wait years for Microsoft to provide the same level of tooling they provided a decade ago, so I'll just build new stuff with the old tooling. A new WinForms app in 2024. What a novelty. WinForms has been upgraded to support dotnet core, it's now open source, and it's got a perfectly functional drag-and-drop designer to support rapid prototyping, and those are my only hard requirements.

Ironic that I'm just going to use WinForms for building my internal dev tooling. WinForms felt old when I got my first development job almost a decade ago and it was already being deprecated in favor of UWP, and now it's almost as old as our new junior developer. WinForms is old enough to drink. But man, when users are crying out for a designer, and the response is "we have too many other serious bugs to put a designer on our roadmap", that's the worst possible thing I could hear. It's a message that WinUI isn't stable enough to bother considering for even a toy demo. It's a vote of no-confidence for the technology as a whole. I'm not here to tell you your roadmap is wrong. You're the maintainers of the roadmap. It's probably a good roadmap. But I'm not getting anywhere near a technology that's got years of development before it's mostly-stable.

UWP will die soon, because it's relatively simple to port to the newer frameworks, so there's little reason to continue making sure it's compatible with newer tools, languages, and frameworks. I expect UWP apps will soon be told "update to WinUI or else". But it's effectively impossible to update a large legacy WinForms app to a modern UI framework. It's equivalent to rewriting the entire thing because there's no upgrade path. That means you (Microsoft) will be stuck supporting WinForms until the heat death of the universe, because billions of dollars of corporate contracts obligate you to keep supporting it. Maybe your hope is that it'll be fully supported by the open source community in the future. At least there's a chance, as long as you also open source the Visual Studio designer as a separate extension.

WinForms will outlive us all. Funny how that's a great thing for me. That makes WinForms a safe, and reliable option for my quirky company internal tools. I'll never need to worryingly read end-of-support notifications or wonder when a new critical feature will be delivered. I'll be safe in knowing I'll never have to dig through GitHub issues to figure out where my beloved legacy WinForms designer went. I'll never open a "modern" win10 settings app that's missing half the settings I need. Funny how that also means I'm adding to the pile of companies that will force WinForms support to outlive my entire career. I think I'm starting to understand how COBOL became so popular. The Lindy Effect applies.

Long live WinForms, I guess. The officially supported modern UI framework for new Windows desktop applications. For everything else, there's Chrome-in-a-box (Electron).

@gsonnenf
Copy link

Responsiveness to the professional needs of Windows developers has been too low. It has been nearly 3 years and this is still an issue. I've moved onto non-Microsoft specific platforms. I encourage Microsoft to become responsive, as XAML / C# has very strong points despite serious flaws in the development cycle.

@whiskhub
Copy link

Microsoft is now officially working on a designer: #9807 (comment)

@sloth77
Copy link

sloth77 commented Aug 22, 2024

Microsoft is now officially working on a designer: #9807 (comment)

Good God! Has hell also frozen over?

@mdtauk
Copy link
Contributor

mdtauk commented Aug 22, 2024

New Broom, clean sweep, and all that.

Finally WinUI can get some polish and attention from TPTB...

As next steps, we plan to update the developer tooling experience for WinUI with a designer and update the documentation. We will be more active and transparent in communication with the community and resolve bugs at the earliest.

@xmaxrayx
Copy link

xmaxrayx commented Aug 22, 2024 via email

@andriysavin
Copy link

Microsoft and clean documentation? Hope you guys be realistic :3

Try Apple's documentation and feel the difference :)

@Marren85
Copy link

The fact this feature was missing is a disgrace and Microsoft should find whoever confirmed that WinUI will be created without a designer and immediately terminate their employment because they are dangerous.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Tooling discussion General discussion product-winui3 WinUI 3 issues team-Markup Issue for the Markup team
Projects
None yet
Development

No branches or pull requests