dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
21.83k stars 1.67k forks source link

Designer extensibility for third-party controls #16169

Open IrinaPykhova opened 11 months ago

IrinaPykhova commented 11 months ago

Description

In your repository I see code for design-time assemblies which register metadata, add controls to VS toolbox and add some more attributes https://github.com/dotnet/maui/tree/95583f7d8527103bd34f58e3000d42b738c35e9e/src/Controls/src/Xaml.Design. This looks similar to what we use in WPF for design-time extensibility. Is that supported for third-party controls? I mean, if we make Designtools.dll for our MAUI controls, will VS recorgnise and use it? Or is this limited to MS controls only?

I searched this repository and can't find any answer. The only thing I've found is never answered question here: https://github.com/dotnet/maui/discussions/1857

Public API Changes

I expect some level of design-time extensibility available to third-party vendors. At least some part of what do you use in your design-time assemblies.

Intended Use-Case

If this is already supported, can you point me to some very simple example of design-time library for MAUI? At this point I'm not interested in custom editors. For beginning, it would be nice to get our MAUI controls shown in the VS toolbox.

drasticactions commented 11 months ago

@mgoertz-msft @etvorun Is there guidance for this? Off the top of my head, I don't know if Xamarin.Forms/MAUI supports DesignTools.

mgoertz-msft commented 11 months ago

@IrinaPykhova DesignTools extensibility metadata is certainly supported for IntelliSense purposes. For the ToolBox I'm not so sure since there is no designer for MAUI. @BretJohnson do you know how Xamarin Forms and now MAUI controls end up on the ToolBox and what the story is for third-party controls?