diff --git a/Bitvault.Avalonia/CreateItemActionView.axaml b/Bitvault.Avalonia/CreateItemActionView.axaml
index 1dc01b5..80f8182 100644
--- a/Bitvault.Avalonia/CreateItemActionView.axaml
+++ b/Bitvault.Avalonia/CreateItemActionView.axaml
@@ -36,7 +36,7 @@
Region="{Binding Named, StringFormat='{}{0}:Content'}"
Route="Item"
Scope="self">
-
+
diff --git a/Bitvault.Avalonia/EmptyItemCollectionView.axaml b/Bitvault.Avalonia/EmptyItemCollectionView.axaml
index 86ab3e2..57cca31 100644
--- a/Bitvault.Avalonia/EmptyItemCollectionView.axaml
+++ b/Bitvault.Avalonia/EmptyItemCollectionView.axaml
@@ -20,7 +20,7 @@
Region="{Binding Named, StringFormat='{}{0}:Content'}"
Route="Item"
Scope="self">
-
+
diff --git a/Bitvault.Avalonia/ItemNavigationView.axaml b/Bitvault.Avalonia/ItemNavigationView.axaml
index c5beef6..f7436db 100644
--- a/Bitvault.Avalonia/ItemNavigationView.axaml
+++ b/Bitvault.Avalonia/ItemNavigationView.axaml
@@ -19,10 +19,11 @@
Region="{Binding Named, StringFormat='{}{0}:Content'}"
Route="Item"
Scope="self">
+
-
+
@@ -31,10 +32,11 @@
Region="{Binding Named, StringFormat='{}{0}:Content'}"
Route="Item"
Scope="self">
+
-
-
+
+
diff --git a/Bitvault.Avalonia/ItemView.axaml b/Bitvault.Avalonia/ItemView.axaml
index 0a8b2ae..fe7871a 100644
--- a/Bitvault.Avalonia/ItemView.axaml
+++ b/Bitvault.Avalonia/ItemView.axaml
@@ -18,7 +18,7 @@
-
+
@@ -32,7 +32,7 @@
Region="{Binding Named, StringFormat='{}{0}:Content'}"
Route="Item"
Scope="self">
-
+
diff --git a/Bitvault.Avalonia/LockerNavigationView.axaml b/Bitvault.Avalonia/LockerNavigationView.axaml
index 18a4b1f..3389571 100644
--- a/Bitvault.Avalonia/LockerNavigationView.axaml
+++ b/Bitvault.Avalonia/LockerNavigationView.axaml
@@ -7,7 +7,6 @@
x:DataType="vm:LockerNavigationViewModel"
Content="{Binding Name}"
IsExpanded="{Binding Expanded}"
- IsSelected="{Binding Selected}"
MenuItemsSource="{Binding}"
NavigationViewItemExtension.IsItemClickEnabled="True"
SelectsOnInvoked="True">
@@ -16,7 +15,7 @@
-
+
@@ -32,7 +31,7 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Bitvault.Avalonia/MainView.axaml b/Bitvault.Avalonia/MainView.axaml
index 414079c..fa4e6aa 100644
--- a/Bitvault.Avalonia/MainView.axaml
+++ b/Bitvault.Avalonia/MainView.axaml
@@ -7,7 +7,9 @@
+ MenuItemsSource="{Binding}"
+ SelectedItem="{Binding SelectedItem}"
+ SelectionFollowsFocus="True">
0
1,0,0,0
diff --git a/Bitvault/AggerateMainViewModelHandler.cs b/Bitvault/AggerateMainViewModelHandler.cs
index b0cee6c..1a45410 100644
--- a/Bitvault/AggerateMainViewModelHandler.cs
+++ b/Bitvault/AggerateMainViewModelHandler.cs
@@ -9,6 +9,7 @@ public class AggerateMainViewModelHandler(IPublisher publisher,
{
public Task Handle(AggerateEventArgs args)
{
+ bool selected = true;
foreach (IComponentHost locker in lockers.OrderBy(x => x.Services.GetRequiredService>()
is IConfigurationDescriptor descriptor ? descriptor.Name : null))
{
@@ -16,10 +17,12 @@ public class AggerateMainViewModelHandler(IPublisher publisher,
{
if (locker.Services.GetRequiredService() is IServiceFactory factory)
{
- if (factory.Create(descriptor.Name) is LockerNavigationViewModel viewModel)
+ if (factory.Create(descriptor.Name, selected) is LockerNavigationViewModel viewModel)
{
publisher.Publish(Create.As(viewModel),
nameof(MainViewModel));
+
+ selected = false;
}
}
}
diff --git a/Bitvault/ItemViewModel.cs b/Bitvault/ItemViewModel.cs
index d5968fc..1a74c6f 100644
--- a/Bitvault/ItemViewModel.cs
+++ b/Bitvault/ItemViewModel.cs
@@ -26,7 +26,8 @@ public partial class ItemViewModel :
private string name;
[ObservableProperty]
- private bool test;
+ private bool fromCategory;
+
public ItemViewModel(IServiceProvider provider,
IServiceFactory factory,
IMediator mediator,
@@ -36,12 +37,12 @@ public partial class ItemViewModel :
IContentTemplate template,
NamedComponent named,
ItemState state = ItemState.Read,
- bool test = false,
+ bool fromCategory = false,
string name = "",
bool favourite = false,
bool archived = false) : base(provider, factory, mediator, publisher, subscriber, disposer)
{
- Test = test;
+ FromCategory = fromCategory;
Named = $"{named}";
Template = template;
State = state;
diff --git a/Bitvault/LockerNavigationViewModel.cs b/Bitvault/LockerNavigationViewModel.cs
index 0b2fb79..bb19ce8 100644
--- a/Bitvault/LockerNavigationViewModel.cs
+++ b/Bitvault/LockerNavigationViewModel.cs
@@ -9,7 +9,8 @@ public partial class LockerNavigationViewModel :
INotificationHandler>,
INotificationHandler>,
INotificationHandler>,
- INotificationHandler>
+ INotificationHandler>,
+ ISelectable
{
[ObservableProperty]
private bool activated;
@@ -33,10 +34,12 @@ public partial class LockerNavigationViewModel :
ISubscription subscriber,
IDisposer disposer,
IContentTemplate template,
- string name) : base(provider, factory, mediator, publisher, subscriber, disposer)
+ string name,
+ bool selected) : base(provider, factory, mediator, publisher, subscriber, disposer)
{
Template = template;
Name = name;
+ Selected = selected;
}
public IContentTemplate Template { get; set; }