- fix: not selecting tab if it already selected

This commit is contained in:
2025-05-02 20:13:04 +03:00
parent f066bb1188
commit fb32f3973e

View File

@@ -79,7 +79,7 @@ public partial class MainViewModel : ViewModelBase
if (!ViewHelperService.TryGetViewModel(value.ModelType, out var vmb)) return; if (!ViewHelperService.TryGetViewModel(value.ModelType, out var vmb)) return;
OpenPage(vmb, value.args); OpenPage(vmb, value.args, false);
} }
public T RequirePage<T>() where T : ViewModelBase, IViewModelPage public T RequirePage<T>() where T : ViewModelBase, IViewModelPage
@@ -91,14 +91,17 @@ public partial class MainViewModel : ViewModelBase
return page; return page;
} }
private void OpenPage(ViewModelBase obj, object? args) private void OpenPage(ViewModelBase obj, object? args, bool selectListView = true)
{ {
var tabItems = Items.Where(vm => vm.ModelType == obj.GetType()); var tabItems = Items.Where(vm => vm.ModelType == obj.GetType());
var listItemTemplates = tabItems as ListItemTemplate[] ?? tabItems.ToArray(); if(selectListView)
if (listItemTemplates.Length != 0)
{ {
SelectedListItem = listItemTemplates.First(); var listItemTemplates = tabItems as ListItemTemplate[] ?? tabItems.ToArray();
if (listItemTemplates.Length != 0)
{
SelectedListItem = listItemTemplates.First();
}
} }
if (obj is IViewModelPage page) if (obj is IViewModelPage page)