Files
Wino-Mail/Wino.Mail.WinUI/Controls/ListView/WinoMailItemViewModelListViewItem.cs
T

39 lines
1.0 KiB
C#
Raw Normal View History

2025-11-15 14:52:01 +01:00
using CommunityToolkit.WinUI;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Wino.Mail.ViewModels.Data;
using WinRT;
namespace Wino.Mail.WinUI.Controls.ListView;
[GeneratedBindableCustomProperty]
2025-10-26 23:35:09 +01:00
public partial class WinoMailItemViewModelListViewItem : ListViewItem
{
2025-10-27 22:52:26 +01:00
[GeneratedDependencyProperty]
public partial MailItemViewModel? Item { get; set; }
[GeneratedDependencyProperty]
public partial bool IsCustomSelected { get; set; }
2025-10-26 23:35:09 +01:00
public WinoMailItemViewModelListViewItem()
{
2025-10-26 23:35:09 +01:00
DefaultStyleKey = typeof(WinoMailItemViewModelListViewItem);
}
partial void OnItemPropertyChanged(DependencyPropertyChangedEventArgs e)
{
if (e.OldValue is MailItemViewModel oldItem)
oldItem.OnSelectionChanged = null;
if (e.NewValue is MailItemViewModel newItem)
{
newItem.OnSelectionChanged = (selected) => IsCustomSelected = selected;
IsCustomSelected = newItem.IsSelected;
}
else
{
IsCustomSelected = false;
}
}
}