diff --git a/Wallet.Avalonia.Desktop/Wallet.Avalonia.Desktop.csproj b/Wallet.Avalonia.Desktop/Wallet.Avalonia.Desktop.csproj
index 4bf02f7..f912f2d 100644
--- a/Wallet.Avalonia.Desktop/Wallet.Avalonia.Desktop.csproj
+++ b/Wallet.Avalonia.Desktop/Wallet.Avalonia.Desktop.csproj
@@ -20,7 +20,7 @@
-
+
diff --git a/Wallet.Avalonia/CommentEntryCollectionView.axaml b/Wallet.Avalonia/CommentEntryCollectionView.axaml
index 780056b..ae88c22 100644
--- a/Wallet.Avalonia/CommentEntryCollectionView.axaml
+++ b/Wallet.Avalonia/CommentEntryCollectionView.axaml
@@ -6,5 +6,6 @@
x:DataType="vm:CommentEntryCollectionViewModel"
Header="{Binding Key}"
IsExpanded="True"
+ IsToggleable="{Binding Count}"
ItemTemplate="{ReflectionBinding Template}"
ItemsSource="{Binding}" />
diff --git a/Wallet.Avalonia/CreateItemNavigationView.axaml b/Wallet.Avalonia/CreateItemNavigationView.axaml
index 4b43bf6..8cf01e3 100644
--- a/Wallet.Avalonia/CreateItemNavigationView.axaml
+++ b/Wallet.Avalonia/CreateItemNavigationView.axaml
@@ -10,7 +10,7 @@
-
+
diff --git a/Wallet.Avalonia/Wallet.Avalonia.csproj b/Wallet.Avalonia/Wallet.Avalonia.csproj
index 92c2dbc..e581499 100644
--- a/Wallet.Avalonia/Wallet.Avalonia.csproj
+++ b/Wallet.Avalonia/Wallet.Avalonia.csproj
@@ -19,22 +19,22 @@
-
+
-
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/Wallet/CommentEntryCollectionViewModel.cs b/Wallet/CommentEntryCollectionViewModel.cs
index eac7f24..643005d 100644
--- a/Wallet/CommentEntryCollectionViewModel.cs
+++ b/Wallet/CommentEntryCollectionViewModel.cs
@@ -2,23 +2,29 @@
namespace Wallet;
-public partial class CommentEntryCollectionViewModel(IServiceProvider provider,
- IServiceFactory factory,
- IMediator mediator,
- IPublisher publisher,
- ISubscriber subscriber,
- IDisposer disposer,
- IContentTemplate template,
- ItemState state,
- ItemEntryConfiguration> configuration,
- string key,
- ICollection value,
- bool isConcealed,
- bool isRevealed,
- double width) : ItemEntryCollectionViewModel>(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width),
+public partial class CommentEntryCollectionViewModel : ItemEntryCollectionViewModel>,
INotificationHandler>
{
- public IContentTemplate Template { get; set; } = template;
+ public CommentEntryCollectionViewModel(IServiceProvider provider,
+ IServiceFactory factory,
+ IMediator mediator,
+ IPublisher publisher,
+ ISubscriber subscriber,
+ IDisposer disposer,
+ IContentTemplate template,
+ ItemState state,
+ ItemEntryConfiguration> configuration,
+ string key,
+ ICollection value,
+ bool isConcealed,
+ bool isRevealed,
+ double width) : base(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width)
+ {
+ Template = template;
+ UpdateState();
+ }
+
+ public IContentTemplate Template { get; set; }
public Task Handle(CreateEventArgs args)
{
@@ -31,9 +37,12 @@ public partial class CommentEntryCollectionViewModel(IServiceProvider provider,
return Task.CompletedTask;
}
- protected override void OnStateChanged()
+ protected override void OnStateChanged() =>
+ UpdateState();
+
+ private void UpdateState()
{
- if (State is ItemState.Write)
+ if (State is ItemState.Write or ItemState.New)
{
Add();
}