fixes
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
xmlns:vm="using:Wallet"
|
||||
x:DataType="vm:MainViewModel">
|
||||
<NavigationView
|
||||
x:Name="NavigationView"
|
||||
FooterMenuItemsSource="{Binding Footer}"
|
||||
IsSettingsVisible="False"
|
||||
MenuItemTemplate="{Binding Template}"
|
||||
@@ -33,6 +34,7 @@
|
||||
<NavigationView.PaneCustomContent>
|
||||
<Grid RowDefinitions="*,Auto">
|
||||
<ListBox
|
||||
x:Name="ListBox"
|
||||
Grid.Row="0"
|
||||
Margin="1,2,1,0"
|
||||
HorizontalAlignment="Center"
|
||||
@@ -167,6 +169,14 @@
|
||||
</StackPanel>
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding $parent[NavigationView].SelectedItem, Converter={NamedTypeConverter}}" Value="ManageNavigationViewModel">
|
||||
<ChangePropertyAction
|
||||
PropertyName="SelectedItem"
|
||||
TargetObject="{Binding #ListBox}"
|
||||
Value="{x:Null}" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</ListBox>
|
||||
<NavigationViewItemSeparator Grid.Row="1" />
|
||||
</Grid>
|
||||
|
||||
@@ -4,5 +4,8 @@ namespace Wallet.Avalonia;
|
||||
|
||||
public partial class MainView : UserControl
|
||||
{
|
||||
public MainView() => InitializeComponent();
|
||||
public MainView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,15 @@
|
||||
x:Class="Wallet.Avalonia.ManageNavigationView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Content="Manage Wallets">
|
||||
xmlns:vm="using:Wallet"
|
||||
x:DataType="vm:ManageNavigationViewModel"
|
||||
Content="Manage Wallets"
|
||||
IsSelected="{Binding IsSelected}"
|
||||
NavigationViewExtension.IsItemInvokedEnabled="True">
|
||||
<Interaction.Behaviors>
|
||||
<EventTriggerBehavior EventName="Tapped">
|
||||
<AttachedEventTriggerBehaviour RoutedEvent="{x:Static NavigationViewExtension.ItemInvokedEvent}">
|
||||
<NavigateAction Region="Main" Route="Manage" />
|
||||
</EventTriggerBehavior>
|
||||
</AttachedEventTriggerBehaviour>
|
||||
</Interaction.Behaviors>
|
||||
<NavigationViewItem.IconSource>
|
||||
<PathIconSource Data="M692.224,655.36C684.032,655.36 677.547,657.749 672.768,662.528C667.989,667.307 665.6,673.451 665.6,680.96C665.6,688.469 667.989,694.613 672.768,699.392C677.547,704.171 683.349,706.56 690.176,706.56L743.424,706.56C750.251,706.56 756.053,704.171 760.832,699.392C765.611,694.613 768,688.469 768,680.96C768,673.451 765.611,667.307 760.832,662.528C756.053,657.749 750.251,655.36 743.424,655.36ZM153.6,321.536C153.6,301.056 161.109,283.307 176.128,268.288C191.147,253.269 209.579,245.76 231.424,245.76L716.8,245.76C745.472,245.76 769.707,255.659 789.504,275.456C809.301,295.253 819.2,319.488 819.2,348.16L819.2,362.496C835.584,370.688 848.213,382.976 857.088,399.36C865.963,415.744 870.4,432.811 870.4,450.56L870.4,860.16C870.4,888.832 860.501,913.067 840.704,932.864C820.907,952.661 796.672,962.56 768,962.56L282.624,962.56C247.125,962.56 216.747,949.931 191.488,924.672C166.229,899.413 153.6,869.717 153.6,835.584ZM716.8,296.96L231.424,296.96C223.232,296.96 216.747,299.349 211.968,304.128C207.189,308.907 204.8,315.051 204.8,322.56C204.8,330.069 207.189,336.213 211.968,340.992C216.747,345.771 223.232,348.16 231.424,348.16L768,348.16C768,334.507 762.88,322.56 752.64,312.32C742.4,302.08 730.453,296.96 716.8,296.96ZM231.424,399.36C221.867,399.36 212.992,397.995 204.8,395.264L204.8,833.536C204.8,855.381 212.309,873.813 227.328,888.832C242.347,903.851 260.779,911.36 282.624,911.36L768,911.36C781.653,911.36 793.6,906.24 803.84,896C814.08,885.76 819.2,873.813 819.2,860.16L819.2,450.56C819.2,436.907 814.08,424.96 803.84,414.72C793.6,404.48 781.653,399.36 768,399.36Z" />
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Avalonia.Controls;
|
||||
using Toolkit.UI.Controls.Avalonia;
|
||||
|
||||
namespace Wallet.Avalonia;
|
||||
|
||||
|
||||
+6
-11
@@ -2,14 +2,9 @@
|
||||
|
||||
namespace Wallet;
|
||||
|
||||
public partial class IconViewModel : Observable
|
||||
{
|
||||
public IconViewModel(IServiceProvider provider,
|
||||
IServiceFactory factory,
|
||||
IMediator mediator,
|
||||
IPublisher publisher,
|
||||
ISubscriber subscriber,
|
||||
IDisposer disposer) : base(provider, factory, mediator, publisher, subscriber, disposer)
|
||||
{
|
||||
}
|
||||
}
|
||||
public partial class IconViewModel(IServiceProvider provider,
|
||||
IServiceFactory factory,
|
||||
IMediator mediator,
|
||||
IPublisher publisher,
|
||||
ISubscriber subscriber,
|
||||
IDisposer disposer) : Observable(provider, factory, mediator, publisher, subscriber, disposer);
|
||||
@@ -16,13 +16,13 @@ public partial class ItemCategoryCollectionViewModel(IServiceProvider provider,
|
||||
[ObservableProperty]
|
||||
private IContentTemplate template = template;
|
||||
|
||||
public override Task Activated()
|
||||
public override Task OnActivated()
|
||||
{
|
||||
Publisher.Publish(Notify.As(Factory.Create<WalletCommandHeaderCollection>(new List<IDisposable>
|
||||
{
|
||||
Factory.Create<BackActionViewModel>(),
|
||||
})));
|
||||
|
||||
return base.Activated();
|
||||
return base.OnActivated();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,14 +59,14 @@ public partial class ItemCollectionViewModel :
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public override Task Activated()
|
||||
public override Task OnActivated()
|
||||
{
|
||||
Publisher.Publish(Notify.As(Factory.Create<WalletCommandHeaderCollection>(new List<IDisposable>
|
||||
{
|
||||
Factory.Create<SearchWalletActionViewModel>(),
|
||||
})));
|
||||
|
||||
return base.Activated();
|
||||
return base.OnActivated();
|
||||
}
|
||||
|
||||
protected override SynchronizeExpression BuildAggregateExpression() =>
|
||||
|
||||
@@ -101,7 +101,7 @@ public partial class ItemViewModel :
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public override Task Activated()
|
||||
public override Task OnActivated()
|
||||
{
|
||||
if (Archived)
|
||||
{
|
||||
@@ -132,7 +132,7 @@ public partial class ItemViewModel :
|
||||
}
|
||||
}
|
||||
|
||||
return base.Activated();
|
||||
return base.OnActivated();
|
||||
}
|
||||
|
||||
protected override SynchronizeExpression BuildAggregateExpression() =>
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Avalonia.Xaml.Interactions.Core;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Toolkit.Foundation;
|
||||
|
||||
namespace Wallet;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Toolkit.Foundation;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Toolkit.Foundation;
|
||||
|
||||
namespace Wallet;
|
||||
|
||||
@@ -9,4 +10,9 @@ public partial class ManageNavigationViewModel(IServiceProvider provider,
|
||||
ISubscriber subscriber,
|
||||
IDisposer disposer) :
|
||||
Observable(provider, factory, mediator, publisher, subscriber, disposer),
|
||||
IMainNavigationViewModel;
|
||||
IMainNavigationViewModel,
|
||||
ISelectable
|
||||
{
|
||||
[ObservableProperty]
|
||||
private bool isSelected;
|
||||
}
|
||||
@@ -49,4 +49,16 @@ public partial class OpenWalletViewModel : Observable
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override async Task OnActivated()
|
||||
{
|
||||
Publisher.Publish(Activated.As<Wallet>());
|
||||
await base.OnActivated();
|
||||
}
|
||||
|
||||
public override async Task OnDeactivated()
|
||||
{
|
||||
Publisher.Publish(Deactivated.As<Wallet>());
|
||||
await base.OnDeactivated();
|
||||
}
|
||||
}
|
||||
@@ -38,8 +38,8 @@ public class SynchronizeItemCollectionViewModelHandler(IMediator mediator,
|
||||
Item<(Guid, string)> item = new((Id, Name));
|
||||
|
||||
decoratorService.Set(item);
|
||||
|
||||
cache.Add(item);
|
||||
|
||||
publisher.Publish(Create.As(viewModel), nameof(ItemCollectionViewModel));
|
||||
}
|
||||
|
||||
|
||||
@@ -56,10 +56,10 @@ public partial class WalletNavigationViewModel :
|
||||
Add<FavouritesNavigationViewModel>("Favourites", 0);
|
||||
Add<ArchiveNavigationViewModel>("Archive", 0);
|
||||
Add<CategoriesNavigationViewModel>("Categories", 0);
|
||||
IsOpened = true;
|
||||
|
||||
Publisher.Publish(Changed.As<Item>());
|
||||
|
||||
IsOpened = true;
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,15 +25,15 @@ public partial class WalletViewModel :
|
||||
Filter = filter;
|
||||
}
|
||||
|
||||
public override async Task Activated()
|
||||
public override async Task OnActivated()
|
||||
{
|
||||
Publisher.Publish(Toolkit.Foundation.Activated.As<Wallet>());
|
||||
await base.Activated();
|
||||
Publisher.Publish(Activated.As<Wallet>());
|
||||
await base.OnActivated();
|
||||
}
|
||||
|
||||
public override async Task Deactivated()
|
||||
public override async Task OnDeactivated()
|
||||
{
|
||||
Publisher.Publish(Toolkit.Foundation.Deactivated.As<Wallet>());
|
||||
await base.Deactivated();
|
||||
Publisher.Publish(Deactivated.As<Wallet>());
|
||||
await base.OnDeactivated();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user