More interactions with threads.
This commit is contained in:
@@ -49,15 +49,23 @@ public partial class WinoThreadMailItemViewModelListViewItem : ListViewItem
|
||||
|
||||
if (innerControl == null || control == null || expander == null) return;
|
||||
|
||||
// 1
|
||||
expander.IsExpanded = control.IsThreadExpanded;
|
||||
|
||||
// 2
|
||||
if (control.IsThreadExpanded && innerControl.SelectedItems.Count == 0 && innerControl.Items.Count > 0)
|
||||
{
|
||||
innerControl.SelectedItem = innerControl.Items[0];
|
||||
innerControl.SelectedItems.Clear();
|
||||
|
||||
// Make item selected, container might not be realized yet, so set on the model.
|
||||
// It'll appear selected when container is realized.
|
||||
|
||||
var firstItem = innerControl.Items.FirstOrDefault() as MailItemViewModel;
|
||||
|
||||
firstItem?.IsSelected = true;
|
||||
}
|
||||
|
||||
// 1
|
||||
expander.IsExpanded = control.IsThreadExpanded;
|
||||
|
||||
// 3
|
||||
if (!control.IsSelected) innerControl?.SelectedItems.Clear();
|
||||
}
|
||||
@@ -103,14 +111,6 @@ public partial class WinoThreadMailItemViewModelListViewItem : ListViewItem
|
||||
mailItem.PropertyChanged += MailPropChanged;
|
||||
}
|
||||
|
||||
private void ApplySelectionForModel(ThreadMailItemViewModel mailItem)
|
||||
{
|
||||
if (mailItem.IsThreadExpanded != IsThreadExpanded)
|
||||
{
|
||||
mailItem.IsThreadExpanded = IsThreadExpanded;
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplySelectionForContainer(ThreadMailItemViewModel mailItem)
|
||||
{
|
||||
if (IsThreadExpanded != mailItem.IsThreadExpanded) IsThreadExpanded = mailItem.IsThreadExpanded;
|
||||
|
||||
Reference in New Issue
Block a user