This commit is contained in:
TheXamlGuy
2024-05-04 22:35:11 +01:00
parent 08cdbd9225
commit 5d75023384
12 changed files with 52 additions and 22 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="using:FluentAvalonia.UI.Controls"
RequestedThemeVariant="Default">
RequestedThemeVariant="Dark">
<Application.Styles>
<ThemeResources />
<Style Selector="ui|SettingsExpanderItem">
+6 -1
View File
@@ -7,12 +7,17 @@ using Microsoft.Extensions.Hosting;
using Toolkit.Avalonia;
using Toolkit.Foundation;
using Microsoft.Extensions.DependencyInjection.Extensions;
using HotAvalonia;
namespace Bitvault.Avalonia;
public partial class App : Application
{
public override void Initialize() => AvaloniaXamlLoader.Load(this);
public override void Initialize()
{
this.EnableHotReload();
AvaloniaXamlLoader.Load(this);
}
public override async void OnFrameworkInitializationCompleted()
{
+6 -1
View File
@@ -8,8 +8,13 @@
<ItemGroup>
<AvaloniaResource Include="Assets\**" />
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<DefineConstants>$(DefineConstants);ENABLE_XAML_HOT_RELOAD</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Avalonia" Version="11.1.0-beta1" />
<PackageReference Condition="$(DefineConstants.Contains(ENABLE_XAML_HOT_RELOAD))" Include="Avalonia.Markup.Xaml.Loader" Version="11.1.0-beta1" />
<PackageReference Condition="$(DefineConstants.Contains(ENABLE_XAML_HOT_RELOAD))" Include="HotAvalonia" Version="1.1.0" />
<PackageReference Include="HotAvalonia.Extensions" Version="1.1.0" PrivateAssets="All" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.1.0-beta1" />
<PackageReference Include="Avalonia.Labs.Controls" Version="11.0.10.1" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
+2 -2
View File
@@ -9,9 +9,9 @@
TransparencyLevelHint="Mica">
<ContentControl x:Name="Window">
<Interaction.Behaviors>
<AttachedBehavior>
<AttachedBehaviour>
<NavigateAction Context="Window" Route="Main" />
</AttachedBehavior>
</AttachedBehaviour>
</Interaction.Behaviors>
</ContentControl>
</windowing:AppWindow>
+3 -3
View File
@@ -11,9 +11,9 @@
PasswordChar="&#x25CF;"
Text="{Binding Password}">
<Interaction.Behaviors>
<KeyBindingTriggerBehavior Gesture="Enter">
<InvokeCommandAction Command="{Binding InvokeCommand}" />
</KeyBindingTriggerBehavior>
<KeyBindingTriggerBehaviour Gesture="Enter">
<InvokeCommandAction Command="{Binding InvokeCommand}" />
</KeyBindingTriggerBehaviour>
</Interaction.Behaviors>
</TextBox>
</StackPanel>
+13 -5
View File
@@ -8,7 +8,8 @@
Content="{Binding Name}"
IsExpanded="{Binding Expanded, Mode=TwoWay}"
IsSelected="{Binding Selected}"
MenuItemsSource="{Binding}">
MenuItemsSource="{Binding}"
SelectsOnInvoked="True">
<Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding Opened}" Value="False">
<ConditionAction>
@@ -18,6 +19,10 @@
</ConditionalExpression>
</ConditionAction.Condition>
<NavigateAction Context="Main" Route="OpenVault" />
<ChangePropertyAction
PropertyName="SelectsOnInvoked"
TargetObject="{Binding #NavigationViewItem}"
Value="True" />
</ConditionAction>
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding Opened}" Value="True">
@@ -28,14 +33,18 @@
</ConditionalExpression>
</ConditionAction.Condition>
<NavigateAction Context="Main" Route="Vault" />
<ChangePropertyAction
PropertyName="SelectsOnInvoked"
TargetObject="{Binding #NavigationViewItem}"
Value="False" />
<SelectNavigationViewItemAction />
</ConditionAction>
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding Selected}" Value="True">
<NavigationViewItemInvokedBehaviour SelectsChildOnInvoked="True">
<ConditionAction>
<ConditionAction.Condition>
<ConditionalExpression ForwardChaining="And">
<ComparisonCondition LeftOperand="{Binding Opened}" RightOperand="False" />
<ComparisonCondition LeftOperand="{Binding Selected}" RightOperand="False" />
<ComparisonCondition LeftOperand="{Binding #NavigationViewItem.IsChildSelected}" RightOperand="False" />
</ConditionalExpression>
</ConditionAction.Condition>
@@ -45,12 +54,11 @@
<ConditionAction.Condition>
<ConditionalExpression ForwardChaining="And">
<ComparisonCondition LeftOperand="{Binding Opened}" RightOperand="True" />
<ComparisonCondition LeftOperand="{Binding Selected}" RightOperand="False" />
<ComparisonCondition LeftOperand="{Binding #NavigationViewItem.IsChildSelected}" RightOperand="False" />
</ConditionalExpression>
</ConditionAction.Condition>
<NavigateAction Context="Main" Route="Vault" />
</ConditionAction>
</DataTriggerBehavior>
</NavigationViewItemInvokedBehaviour>
</Interaction.Behaviors>
</NavigationViewItem>
@@ -4,6 +4,9 @@ namespace Bitvault.Avalonia
{
public partial class VaultNavigationView : NavigationViewItem
{
public VaultNavigationView() => InitializeComponent();
public VaultNavigationView()
{
InitializeComponent();
}
}
}
+1
View File
@@ -17,6 +17,7 @@
Height="40"
Margin="0,4,0,0"
ColumnDefinitions="*,Auto">
<TextBlock Grid.Column="0" Text="Title goes here" />
<Button
Grid.Column="1"
Width="{StaticResource ButtonWidth}"
+8 -3
View File
@@ -1,12 +1,17 @@
using Toolkit.Foundation;
using CommunityToolkit.Mvvm.ComponentModel;
using Toolkit.Foundation;
namespace Bitvault;
public class CategoriesNavigationViewModel(IServiceProvider provider,
public partial class CategoriesNavigationViewModel(IServiceProvider provider,
IServiceFactory factory,
IMediator mediator,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer) :
ObservableViewModel(provider, factory, mediator, publisher, subscriber, disposer),
IVaultNavigationViewModel;
IVaultNavigationViewModel
{
[ObservableProperty]
private bool selected;
}
+4 -2
View File
@@ -1,3 +1,5 @@
namespace Bitvault;
using Toolkit.Foundation;
public interface IVaultNavigationViewModel;
namespace Bitvault;
public interface IVaultNavigationViewModel : ISelectable;
+1 -2
View File
@@ -38,13 +38,12 @@ public partial class VaultNavigationViewModel :
public Task Handle(Opened args, CancellationToken cancellationToken = default)
{
Opened = true;
Add<AllNavigationViewModel>();
Add<StarredNavigationViewModel>();
Add<ArchiveNavigationViewModel>();
Add<CategoriesNavigationViewModel>();
Opened = true;
return Task.CompletedTask;
}
+3 -1
View File
@@ -9,7 +9,9 @@ public class VaultViewModelHandler(IServiceFactory factory,
public async Task Handle(Enumerate<LockerNavigationViewModel> args,
CancellationToken cancellationToken = default)
{
for (int i = 0; i < 5000; i++)
Random rnd = new Random();
int d = rnd.Next(5, 10);
for (int i = 0; i < 2; i++)
{
if (factory.Create<LockerNavigationViewModel>() is LockerNavigationViewModel viewModel)
{