Better prop change cleanup.
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
using System.Diagnostics;
|
using Microsoft.UI.Xaml;
|
||||||
using Microsoft.UI.Xaml;
|
|
||||||
using Microsoft.UI.Xaml.Controls;
|
using Microsoft.UI.Xaml.Controls;
|
||||||
using Wino.Mail.ViewModels.Data;
|
using Wino.Mail.ViewModels.Data;
|
||||||
|
|
||||||
@@ -27,16 +26,11 @@ public partial class WinoListView : Microsoft.UI.Xaml.Controls.ListView
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override void ClearContainerForItemOverride(DependencyObject element, object item)
|
protected override void ClearContainerForItemOverride(DependencyObject element, object item)
|
||||||
{
|
|
||||||
if (item is IMailListItem mailListItem)
|
|
||||||
{
|
{
|
||||||
if (element is WinoThreadMailItemViewModelListViewItem threadMailItemViewModelListViewItem) threadMailItemViewModelListViewItem.Cleanup();
|
if (element is WinoThreadMailItemViewModelListViewItem threadMailItemViewModelListViewItem) threadMailItemViewModelListViewItem.Cleanup();
|
||||||
if (element is WinoMailItemViewModelListViewItem winoMailItemViewModelListViewItem) winoMailItemViewModelListViewItem.Cleanup();
|
if (element is WinoMailItemViewModelListViewItem winoMailItemViewModelListViewItem) winoMailItemViewModelListViewItem.Cleanup();
|
||||||
}
|
|
||||||
|
|
||||||
base.ClearContainerForItemOverride(element, item);
|
base.ClearContainerForItemOverride(element, item);
|
||||||
|
|
||||||
Debug.WriteLine($"Cleaned container");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SelectMailItemContainer(MailItemViewModel mailItemViewModel)
|
public bool SelectMailItemContainer(MailItemViewModel mailItemViewModel)
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ public partial class WinoMailItemViewModelListViewItem : ListViewItem
|
|||||||
|
|
||||||
private void RegisterSelectionCallback(IMailListItem mailItem)
|
private void RegisterSelectionCallback(IMailListItem mailItem)
|
||||||
{
|
{
|
||||||
|
mailItem.PropertyChanged -= MailPropChanged;
|
||||||
mailItem.PropertyChanged += MailPropChanged;
|
mailItem.PropertyChanged += MailPropChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ public partial class WinoThreadMailItemViewModelListViewItem : ListViewItem
|
|||||||
|
|
||||||
private void RegisterSelectionCallback(ThreadMailItemViewModel mailItem)
|
private void RegisterSelectionCallback(ThreadMailItemViewModel mailItem)
|
||||||
{
|
{
|
||||||
|
mailItem.PropertyChanged -= MailPropChanged;
|
||||||
mailItem.PropertyChanged += MailPropChanged;
|
mailItem.PropertyChanged += MailPropChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user