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

Multi-DLL support needed for views #17051

Open
WillPittenger opened this issue Sep 18, 2024 · 2 comments
Open

Multi-DLL support needed for views #17051

WillPittenger opened this issue Sep 18, 2024 · 2 comments

Comments

@WillPittenger
Copy link

Is your feature request related to a problem? Please describe.

My app needs some abstraction layers so 3rd parties later can come in and add support for more communications protocols. I'm working on one for IRC. We're hoping to add Discord and Matrix support later. But the 3rd party issue means my app can't be one monolithic assembly. Instead, each protocol developer needs to supply their own back end. Plus, we want to support several different front ends. I'm working on a desktop only front end. There will be others specific to phones and a web client. Plus, some IRC users like TUI front ends.

All that means they have to implement their own Avalonia-based front ends in their DLL. I can't provide them as I won't know what they'll need. Unfortunately, when I put my IRC controls and windows in a second DLL, Avalonia seems to break down. The first and main symptom I keep seeing is how when I edit AXAML pages not in my main assembly, IntelliSense seems unavailable.

I should also note in such situations, the preview pane is unavailable and might as well be hidden. Relying on a main assembly for that is a real pain. Between these things, I doubt my project will get much further as an Avalonia-based project. I do, however, like Avalonia for its theme support and portability. (We need *nix and MacOS support.)

Describe the solution you'd like

I don't know what the solution would be as I don't know how Avalonia works in the meantime. But I do need the option to put controls and windows in DLLs that aren't my main assembly.

I should note that having a property editor like Windows Forms and WPF have would help you convince people to switch. I consider the Windows Forms editor to be slighter superior as coders could quickly enter a single value for a margin.

Another thing to help people decide would be to preview based on the AXAML when the executables aren't available. Just put up a warning the preview might not be accurate as it's based only on controls it has and the attributes in the AXAML.

Describe alternatives you've considered

As noted, I originally started with WPF. But when I saw Avalonia, I was hopeful it'd do the job. But as is, it needs help.

Additional context

If you want to see what I have now, take a look at my latest code. This shows what I did in WPF.

@thevortexcloud
Copy link
Contributor

thevortexcloud commented Sep 19, 2024

IntelliSense seems unavailable.

It's probably worth mentioning what IDE you use. Visual Studio's support for Avalonia is significantly more simplistic than Rider's (mainly because Jetbrains officially supports Avalonia while Visual Studio does not). If you use Resharper in Visual Studio, it will work identically to Rider as well.

I should note that having a property editor like Windows Forms and WPF have would help you convince people to switch. I consider the Windows Forms editor to be slighter superior as coders could quickly enter a single value for a margin.

There is a designer coming as a paid feature.

#16997

@WillPittenger
Copy link
Author

We don't have any funds. Se JetBrains is out. I'm using VS 2022.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants