AathifMahir / MauiIcons

MauiIcons is Icon Collection Library for .Net Maui
MIT License
196 stars 13 forks source link

Experimental PR for New Impl on Icon Assigning #108

Closed AathifMahir closed 1 month ago

AathifMahir commented 1 month ago

Experimental PR for New Impl on Icon Assigning

AathifMahir commented 1 month ago

@albyrock87 by the way, any idea on propagating BindingContext from PropertyChanged to BaseIconExtension?

AathifMahir commented 1 month ago

@albyrock87 i'll close this PR and Will be Working on Production Version aka v4 with These Improvements and Etc.. in this PR #109

albyrock87 commented 1 month ago

@AathifMahir if you're going to make changes only in the next major, I would also explore if we can avoid the markup extension and simply subclass BindableObject if possible, otherwise Element.

AathifMahir commented 1 month ago

@AathifMahir if you're going to make changes only in the next major, I would also explore if we can avoid the markup extension and simply subclass BindableObject if possible, otherwise Element.

I thought about it too. But I was leaning towards having existing (classic) Markup Extension on a single Major release that Supports Setters aka v4, therefore we would have most of the features for existing users without breaking any existing code, Afterwards Once the Dotnet 9 Launches, I was looking to work on v5 Which would bring in all the breaking changes that we wanted to deprecate the classic Markup Extension and etc..

Additionally, I thought of making this as v3.5 as well. But I guess making the current release Major release would bring some awareness towards new way of setting the icons using attached property therefore having the next release as v4 makes sense on my point of view

I'm open for suggestions, feel free to let me know what do you think.

albyrock87 commented 1 month ago

@AathifMahir looking at the state of this PR, I think that removing the markup extension does not change the way devs use icons: it's just how MAUI interprets that node.

Edit: never mind, it would break this <Entry Placeholder="{mi:FontAwesome Icon=AddressBook}"/>