Frendlier SetCurrentSelectedItem
This commit is contained in:
@@ -50,11 +50,15 @@ namespace FileTime.Core.Components
|
|||||||
{
|
{
|
||||||
if (_currentSelectedItem != value)
|
if (_currentSelectedItem != value)
|
||||||
{
|
{
|
||||||
var contains = (await _currentLocation.GetItems())?.Contains(value) ?? false;
|
IItem? itemToSelect = null;
|
||||||
if(value != null && !contains) throw new IndexOutOfRangeException("Provided item does not exists in the current container.");
|
if (value != null)
|
||||||
|
{
|
||||||
|
itemToSelect = (await _currentLocation.GetItems())?.FirstOrDefault(i => i.FullName == value?.FullName);
|
||||||
|
if (itemToSelect == null) throw new IndexOutOfRangeException("Provided item does not exists in the current container.");
|
||||||
|
}
|
||||||
|
|
||||||
_currentSelectedItem = value;
|
_currentSelectedItem = itemToSelect;
|
||||||
CurrentSelectedIndex = await GetItemIndex(value);
|
CurrentSelectedIndex = await GetItemIndex(itemToSelect);
|
||||||
await CurrentSelectedItemChanged?.InvokeAsync(this, AsyncEventArgs.Empty);
|
await CurrentSelectedItemChanged?.InvokeAsync(this, AsyncEventArgs.Empty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user