More crazy edge cases
This commit is contained in:
@@ -289,7 +289,7 @@ public partial class ObservableCollection<TItem> :
|
|||||||
if (selectable.Selected)
|
if (selectable.Selected)
|
||||||
{
|
{
|
||||||
SelectedItem = item;
|
SelectedItem = item;
|
||||||
SelectedIndex = this.IndexOf(item);
|
SelectedIndex = IndexOf(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -312,6 +312,7 @@ public partial class ObservableCollection<TItem> :
|
|||||||
|
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task Handle(ReplaceEventArgs<TItem> args)
|
public Task Handle(ReplaceEventArgs<TItem> args)
|
||||||
{
|
{
|
||||||
if (args.Value is TItem item)
|
if (args.Value is TItem item)
|
||||||
@@ -332,6 +333,11 @@ public partial class ObservableCollection<TItem> :
|
|||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Task Handle(SelectionEventArgs<TItem> args)
|
||||||
|
{
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
public int IndexOf(TItem item) =>
|
public int IndexOf(TItem item) =>
|
||||||
collection.IndexOf(item);
|
collection.IndexOf(item);
|
||||||
|
|
||||||
@@ -378,6 +384,7 @@ public partial class ObservableCollection<TItem> :
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Move(int index, TItem item)
|
public bool Move(int index, TItem item)
|
||||||
{
|
{
|
||||||
int oldIndex = collection.IndexOf(item);
|
int oldIndex = collection.IndexOf(item);
|
||||||
@@ -490,7 +497,7 @@ public partial class ObservableCollection<TItem> :
|
|||||||
|
|
||||||
partial void OnSelectedIndexChanged(int oldValue, int newValue)
|
partial void OnSelectedIndexChanged(int oldValue, int newValue)
|
||||||
{
|
{
|
||||||
if (oldValue >= 0 && oldValue <= this.Count -1 && this[oldValue] is ISelectable removed)
|
if (oldValue >= 0 && oldValue <= this.Count - 1 && this[oldValue] is ISelectable removed)
|
||||||
{
|
{
|
||||||
removed.Selected = false;
|
removed.Selected = false;
|
||||||
}
|
}
|
||||||
@@ -501,9 +508,12 @@ public partial class ObservableCollection<TItem> :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task Handle(SelectionEventArgs<TItem> args)
|
partial void OnSelectedItemChanged(TItem? oldValue, TItem? newValue)
|
||||||
{
|
{
|
||||||
return Task.CompletedTask;
|
if (oldValue is ISelectable selectable)
|
||||||
|
{
|
||||||
|
selectable.Selected = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user