Wire up settings

This commit is contained in:
TheXamlGuy
2024-02-05 22:01:05 +00:00
parent 43f96fd4f0
commit 28d79f77d0
7 changed files with 62 additions and 22 deletions
+1 -1
View File
@@ -53,7 +53,7 @@ public partial class App :
services.AddContentTemplate<SecondaryViewModel, SecondaryView>();
services.AddContentTemplate<SettingsButtonViewModel, SettingsButtonView>();
services.AddContentTemplate<SettingsView, SettingsView>("Settings");
services.AddContentTemplate<SettingsViewModel, SettingsView>("Settings");
services.AddTransient<IInitializer, AppInitializer>();
})
+16 -2
View File
@@ -2,6 +2,20 @@
<Window
x:Class="Hyperbar.Windows.SettingsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Button>afsdfdg</Button>
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hyperbar="using:Hyperbar">
<Window.SystemBackdrop>
<MicaBackdrop />
</Window.SystemBackdrop>
<NavigationView
IsBackButtonVisible="Collapsed"
IsPaneToggleButtonVisible="False"
IsSettingsVisible="False"
MenuItemsSource="{x:Bind ViewModel, Mode=OneWay}">
<NavigationView.MenuItemTemplate>
<DataTemplate x:DataType="hyperbar:NavigationViewModel">
<NavigationViewItem Content="{x:Bind Text, Mode=OneWay}" />
</DataTemplate>
</NavigationView.MenuItemTemplate>
</NavigationView>
</Window>
+9 -8
View File
@@ -1,12 +1,13 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
namespace Hyperbar.Windows
namespace Hyperbar.Windows;
public partial class SettingsView :
Window
{
public sealed partial class SettingsView :
Window
{
public SettingsView() =>
InitializeComponent();
}
public SettingsView() =>
InitializeComponent();
protected SettingsViewModel ViewModel =>
(SettingsViewModel)(Content as FrameworkElement)!.DataContext;
}
+8 -7
View File
@@ -1,12 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hyperbar.Windows;
namespace Hyperbar.Windows
public partial class SettingsViewModel :
ObservableCollectionViewModel<NavigationViewModel>
{
internal class SettingsViewModel
public SettingsViewModel(IServiceFactory serviceFactory,
IMediator mediator,
IDisposer disposer) : base(serviceFactory, mediator, disposer)
{
Add<NavigationViewModel>("General");
Add<NavigationViewModel>("Widgets");
}
}