UI threading work

This commit is contained in:
TheXamlGuy
2024-01-13 13:47:26 +00:00
parent 70e0ae9492
commit 66f4bb8757
5 changed files with 35 additions and 5 deletions
@@ -0,0 +1,8 @@
using Hyperbar.Windows.Controls;
namespace Hyperbar.Windows;
public class AppConfiguration
{
public DesktopFlyoutPlacement Placement { get; set; }
}
@@ -5,14 +5,15 @@ namespace Hyperbar.Windows;
public class AppInitializer([FromKeyedServices(nameof(WidgetBarViewModel))] WidgetBarView view,
[FromKeyedServices(nameof(WidgetBarViewModel))] WidgetBarViewModel viewModel,
DesktopFlyout desktopFlyout) :
DesktopFlyout desktopFlyout,
AppConfiguration configuration) :
IInitializer
{
public Task InitializeAsync()
{
view.DataContext = viewModel;
desktopFlyout.Placement = DesktopFlyoutPlacement.Top;
desktopFlyout.Placement = configuration.Placement;
desktopFlyout.Content = view;
return Task.CompletedTask;
@@ -0,0 +1,14 @@
using Hyperbar.Windows.Controls;
namespace Hyperbar.Windows.Primary;
public class AppConfigurationChangedHandler(DesktopFlyout desktopFlyout,
AppConfiguration configuration) :
INotificationHandler<ConfigurationChanged<AppConfiguration>>
{
public ValueTask Handle(ConfigurationChanged<AppConfiguration> notification, CancellationToken cancellationToken)
{
desktopFlyout.Placement = configuration.Placement;
return ValueTask.CompletedTask;
}
}