New WinoListView implementation with multiple selections.

This commit is contained in:
Burak Kaan Köse
2025-10-26 14:53:22 +01:00
parent d4c8ae6cb7
commit 79d5b6ed40
22 changed files with 748 additions and 480 deletions
@@ -0,0 +1,22 @@
using System;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Wino.Mail.ViewModels.Data;
namespace Wino.Mail.WinUI.Controls.ListView;
public partial class WinoMailItemTemplateSelector : DataTemplateSelector
{
public DataTemplate? SingleMailItemTemplate { get; set; }
public DataTemplate? ThreadMailItemTemplate { get; set; }
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
{
if (item is MailItemViewModel)
return SingleMailItemTemplate ?? throw new Exception($"Missing template for single mail items.");
else if (item is ThreadMailItemViewModel)
return ThreadMailItemTemplate ?? throw new Exception($"Missing template for thread mail items.");
return base.SelectTemplateCore(item, container);
}
}