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

Suggestion: Split the NuGet Package into Two for Better Dependency Management #4539

Open
IvanGit opened this issue Jan 26, 2025 · 0 comments

Comments

@IvanGit
Copy link

IvanGit commented Jan 26, 2025

Hello!

First of all, thank you very much for the amazing work on MahApps.Metro! Your project greatly enhances the development experience for WPF applications.

I have a suggestion that I believe could improve the package structure and dependency management. Currently, the main package includes a dependency on Microsoft.Xaml.Behaviors.Wpf. As a result, all users of MahApps.Metro must include this dependency even if they don't use the behaviors from the package or use another implementation of behaviors.

My suggestion is as follows:

  • Split the current NuGet package into two separate packages:
    • MahApps.Metro — containing only the control extensions without the dependency on Microsoft.Xaml.Behaviors.Wpf.
    • MahApps.Metro.Behaviors — containing all behaviors and having a dependency on Microsoft.Xaml.Behaviors.Wpf.

Advantages of this approach:

  1. Users who don't need behaviors can use MahApps.Metro without unnecessary dependencies.
  2. Improved dependency management as each package will contain only the necessary components.

Example of the new structure:

  • MahApps.Metro
    • All controls and control extensions
  • MahApps.Metro.Behaviors
    • All behaviors
    • Dependency on Microsoft.Xaml.Behaviors.Wpf

Thank you for considering my suggestion. I hope it can be a valuable addition to your project. If any help is needed in implementing this split, I am willing to assist.

Best regards,
IvanGit

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

No branches or pull requests

1 participant