Open Tetley22 opened 2 years ago
Thank you for sharing this PR, sorry for the delay but I have a lot of my plate.
I see a bit of an issue with this change, an Icon is a IDisposable, so it needs to be disposed otherwise a memory leak will happen. The OnIconInMemoryPropertyChanged will overwrite it, and not allow it to be disposed.
The issue is that sometimes an icon needs to be disposed and sometimes not (as you will need it), and for these scenarios we might want to have a better solution. I know there were some other issues with icons, I need to consolidate all of that to come up with one... bear with me.
Added support for dynamic, in-memory icons to be assigned at the xaml level. This allows better support for MVVM design.
For a small wpf project I created, I wanted the ability to generate icons at runtime, while maintaining MVVM design pattern. The only way I could figure out how to assign dynamic in-memory icons was to break MVVM and access the TaskbarIcon object directly in the ViewModel code. So I added this ability which worked well for my needs, and thought I'd share if you are interested in it.
Usage in xaml:
In ViewModel (where TrayIcon is set via dynamic icon generation): public Icon TrayIcon { get { return _trayIcon; } set { _trayIcon = value; NotifyPropertyChanged(nameof(TrayIcon)); } }