restructure project for part 2
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Microsoft.UI.Xaml;
|
||||
|
||||
namespace Hyperbar.Windows.Controls;
|
||||
namespace Hyperbar.Controls.Windows;
|
||||
|
||||
public class DesktopBar :
|
||||
DependencyObject
|
||||
+3
-5
@@ -1,12 +1,10 @@
|
||||
using Microsoft.UI.Xaml;
|
||||
using Hyperbar.Windows.UI;
|
||||
using Windows.Foundation;
|
||||
using WindowStyle = Hyperbar.Windows.Interop.WindowStyle;
|
||||
using ExtendedWindowStyle = Hyperbar.Windows.Interop.ExtendedWindowStyle;
|
||||
using Hyperbar.Windows.Interop;
|
||||
using Microsoft.UI.Xaml.Media;
|
||||
using Hyperbar.Interop.Windows;
|
||||
using Hyperbar.UI.Windows;
|
||||
|
||||
namespace Hyperbar.Windows.Controls;
|
||||
namespace Hyperbar.Controls.Windows;
|
||||
|
||||
internal class DesktopBarHost : Window
|
||||
{
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Windows.Controls;
|
||||
namespace Hyperbar.Controls.Windows;
|
||||
|
||||
public enum DesktopBarPlacemenet
|
||||
{
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using Microsoft.UI.Xaml.Data;
|
||||
|
||||
namespace Hyperbar.Windows.Controls;
|
||||
namespace Hyperbar.Controls.Windows;
|
||||
|
||||
public class DesktopBarPresenter :
|
||||
ContentControl
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="using:Hyperbar.Windows.Controls">
|
||||
xmlns:controls="using:Hyperbar.Controls.Windows">
|
||||
<ResourceDictionary.ThemeDictionaries>
|
||||
<ResourceDictionary x:Key="Default">
|
||||
<StaticResource x:Key="DesktopBarPresenterBackground" ResourceKey="AcrylicInAppFillColorDefaultBrush" />
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Microsoft.UI.Xaml;
|
||||
|
||||
namespace Hyperbar.Windows.Controls;
|
||||
namespace Hyperbar.Controls.Windows;
|
||||
|
||||
public class DesktopBarPresenterTemplateSettings : DependencyObject
|
||||
{
|
||||
@@ -0,0 +1,27 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
|
||||
<UseWinUI>true</UseWinUI>
|
||||
<UseRidGraph>true</UseRidGraph>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<EnableMsixTooling>true</EnableMsixTooling>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="$(TargetFramework.EndsWith('-windows10.0.19041.0'))">
|
||||
<None Include="bin/$(Configuration)/$(TargetFramework)/$(AssemblyName).pri" Pack="true" PackagePath="lib/$(TargetFramework.TrimEnd('.0'))/" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Remove="bin/Debug/net8.0-windows10.0.19041.0/Hyperbar.Controls.Windows.pri" />
|
||||
<None Remove="bin/Debug/net8.0-windows10.0.19041.0/Hyperbar.Windows.Controls.pri" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.231202003-experimental1" />
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26031-preview" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Hyperbar.Interop.Windows\Hyperbar.Interop.Windows.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.UI.Windows\Hyperbar.UI.Windows.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="ms-appx:///Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenter.xaml" />
|
||||
<ResourceDictionary Source="ms-appx:///Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenter.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
[Flags]
|
||||
public enum ExtendedWindowStyle
|
||||
+1
-1
@@ -4,7 +4,7 @@ using Windows.Win32.Foundation;
|
||||
using Windows.Win32.Graphics.Gdi;
|
||||
using Windows.Win32.UI.WindowsAndMessaging;
|
||||
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
public static class HwndExtensions
|
||||
{
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
public interface IVirtualKeyboard
|
||||
{
|
||||
void Send(int key, params int[] modifierKeys);
|
||||
}
|
||||
@@ -5,7 +5,7 @@ using Windows.Win32.Foundation;
|
||||
using Windows.Win32.UI.WindowsAndMessaging;
|
||||
using Windows.Win32.Graphics.Gdi;
|
||||
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
public class Screen
|
||||
{
|
||||
+1
-1
@@ -4,7 +4,7 @@ using Windows.Win32;
|
||||
using Windows.Win32.Foundation;
|
||||
using Windows.Win32.UI.WindowsAndMessaging;
|
||||
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
internal static class SystemInformationHelper
|
||||
{
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using Windows.Win32;
|
||||
using Windows.Win32.UI.KeyboardAndMouseInput;
|
||||
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
|
||||
public class VirtualKeyboard :
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using Windows.Win32.Foundation;
|
||||
using Windows.Win32.UI.Shell;
|
||||
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
public class WindowMessageListener :
|
||||
IDisposable
|
||||
{
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using Windows.Win32;
|
||||
using Windows.Win32.Foundation;
|
||||
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
public class WindowSnapping :
|
||||
IDisposable
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
public enum WindowSnappingPlacement
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Hyperbar.Windows.Interop;
|
||||
namespace Hyperbar.Interop.Windows;
|
||||
|
||||
[Flags]
|
||||
public enum WindowStyle
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
|
||||
namespace Hyperbar.Windows.UI;
|
||||
namespace Hyperbar.UI.Windows;
|
||||
|
||||
public class DataTemplateConverter :
|
||||
ValueConverter<object, DataTemplateSelector>
|
||||
+7
-3
@@ -7,13 +7,17 @@
|
||||
<UseRidGraph>true</UseRidGraph>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<EnableMsixTooling>true</EnableMsixTooling>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.4.230913002" />
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.755" />
|
||||
<None Remove="bin/Debug/net8.0-windows10.0.19041.0/Hyperbar.Windows.UI.pri" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Hyperbar.Windows.Interop\Hyperbar.Windows.Interop.csproj" />
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.231202003-experimental1" />
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26031-preview" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Hyperbar.Interop.Windows\Hyperbar.Interop.Windows.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar\Hyperbar.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,24 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
using WinRT;
|
||||
|
||||
namespace Hyperbar.UI.Windows;
|
||||
|
||||
public static class IWinRTObjectExtensions
|
||||
{
|
||||
public static void InitializeComponent<TComponent>(this TComponent component,
|
||||
ref bool loaded,
|
||||
[CallerFilePath] string path = "")
|
||||
where TComponent :
|
||||
IWinRTObject
|
||||
{
|
||||
if (loaded)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
loaded = true;
|
||||
|
||||
//Uri resourceLocator = ApplicationExtensionHost.Current.LocateResource(component, callerFilePath);
|
||||
//Application.LoadComponent(component, resourceLocator, ComponentResourceLocation.Nested);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Hyperbar.Windows.UI;
|
||||
namespace Hyperbar.UI.Windows;
|
||||
|
||||
public class TemplateFactory(IEnumerable<IContentTemplateDescriptor> descriptors,
|
||||
IServiceProvider provider) :
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using Microsoft.UI.Xaml.Markup;
|
||||
|
||||
namespace Hyperbar.Windows.UI;
|
||||
namespace Hyperbar.UI.Windows;
|
||||
|
||||
public class TemplateGenerator : DataTemplateSelector
|
||||
{
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
|
||||
namespace Hyperbar.Windows.UI;
|
||||
namespace Hyperbar.UI.Windows;
|
||||
|
||||
public class TemplateGeneratorControl :
|
||||
ContentControl
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using Microsoft.UI.Xaml.Data;
|
||||
using Microsoft.UI.Xaml.Markup;
|
||||
|
||||
namespace Hyperbar.Windows.UI;
|
||||
namespace Hyperbar.UI.Windows;
|
||||
|
||||
public abstract class ValueConverter<TSource, TTarget> :
|
||||
MarkupExtension,
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
using Hyperbar.Windows.Interop;
|
||||
using Hyperbar.Interop.Windows;
|
||||
using Microsoft.UI.Windowing;
|
||||
using Microsoft.UI.Xaml;
|
||||
using Windows.Graphics;
|
||||
using WinRT.Interop;
|
||||
|
||||
namespace Hyperbar.Windows.UI;
|
||||
namespace Hyperbar.UI.Windows;
|
||||
|
||||
public static class WindowExtensions
|
||||
{
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Widget.Contextual;
|
||||
namespace Hyperbar.Widget.Contextual.Windows;
|
||||
|
||||
public class ContextualWidget :
|
||||
IWidget
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Widget.Contextual;
|
||||
namespace Hyperbar.Widget.Contextual.Windows;
|
||||
|
||||
public class ContextualWidgetConfiguration :
|
||||
WidgetConfiguration
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Widget.Contextual;
|
||||
namespace Hyperbar.Widget.Contextual.Windows;
|
||||
|
||||
public class ContextualWidgetViewModel(ITemplateFactory templateFactory,
|
||||
IServiceFactory serviceFactory,
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public record Backward : INotification;
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public record Foward : INotification;
|
||||
+4
-3
@@ -13,14 +13,15 @@
|
||||
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls" Version="7.1.2" />
|
||||
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Primitives" Version="7.1.2" />
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.231202003-experimental1" />
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.25936-preview" />
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26031-preview" />
|
||||
<PackageReference Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
|
||||
<PackageReference Include="CustomExtensions.WinUI" Version="0.1.10-beta" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Hyperbar.Controls.Windows\Hyperbar.Controls.Windows.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Interop.Windows\Hyperbar.Interop.Windows.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Widget\Hyperbar.Widget.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Windows.Controls\Hyperbar.Windows.Controls.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Windows.UI\Hyperbar.Windows.UI.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar\Hyperbar.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<UserControl
|
||||
x:Class="Hyperbar.Windows.MediaController.MediaButtonView"
|
||||
x:Class="Hyperbar.Widget.MediaController.Windows.MediaButtonView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:interactions="using:Microsoft.Xaml.Interactions.Core"
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public sealed partial class MediaButtonView :
|
||||
UserControl
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using Hyperbar.Widget;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaButtonViewModel(IServiceFactory serviceFactory,
|
||||
IMediator mediator,
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Windows.Media.Control;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaController :
|
||||
INotificationHandler<Play>,
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Windows.Media.Control;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaControllerFactory(IServiceScopeFactory<MediaController> serviceScopeFactory) :
|
||||
IFactory<GlobalSystemMediaTransportControlsSession, MediaController?>
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaControllerHandler(IMediator mediator,
|
||||
IServiceScopeProvider<MediaController> scopeProvider,
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
using Windows.Media.Control;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaControllerManager(IMediator mediator,
|
||||
IFactory<GlobalSystemMediaTransportControlsSession, MediaController> factory,
|
||||
IDispatcher dispatcher,
|
||||
@@ -29,7 +30,7 @@ public class MediaControllerManager(IMediator mediator,
|
||||
{
|
||||
if (factory.Create(session) is MediaController mediaController)
|
||||
{
|
||||
//await mediator.PublishAsync(new Created<MediaController>(mediaController));
|
||||
await mediator.PublishAsync(new Created<MediaController>(mediaController));
|
||||
cache.Add(new KeyValuePair<GlobalSystemMediaTransportControlsSession, MediaController>(session, mediaController));
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<UserControl
|
||||
x:Class="Hyperbar.Windows.MediaController.MediaControllerView"
|
||||
x:Class="Hyperbar.Widget.MediaController.Windows.MediaControllerView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="using:Hyperbar.Windows.UI">
|
||||
xmlns:ui="using:Hyperbar.UI.Windows">
|
||||
<Grid Width="400" Background="red">
|
||||
<ItemsControl
|
||||
HorizontalAlignment="Center"
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public sealed partial class MediaControllerView :
|
||||
UserControl
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaControllerViewModel :
|
||||
ObservableCollectionViewModel<WidgetComponentViewModel>,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaControllerViewModelFactory(IServiceFactory service) :
|
||||
IFactory<MediaController, MediaControllerViewModel?>
|
||||
+1
-1
@@ -2,7 +2,7 @@ using Hyperbar.Widget;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Windows.Media.Control;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaControllerWidget :
|
||||
IWidget
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaControllerWidgetConfiguration :
|
||||
WidgetConfiguration
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<UserControl
|
||||
x:Class="Hyperbar.Widget.MediaController.Windows.MediaControllerWidgetView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Button>sdfsdfsdg</Button>
|
||||
</UserControl>
|
||||
@@ -0,0 +1,74 @@
|
||||
using CustomExtensions.WinUI;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public sealed partial class MediaControllerWidgetView :
|
||||
UserControl
|
||||
{
|
||||
public MediaControllerWidgetView()
|
||||
{
|
||||
Foo(@"C:\Users\dan_c\AppData\Local\Packages\24ccddba-447f-4d37-891d-523e8d820f45_rmhrgjnfy8he0\LocalCache\Local\Hyperbar.Windows\Extensions\Hyperbar.Windows.MediaController\Hyperbar.Windows.MediaController.dll");
|
||||
LocateResourcePath(this);
|
||||
}
|
||||
|
||||
public Assembly ForeignAssembly { get; set; }
|
||||
|
||||
private string ForeignAssemblyDir;
|
||||
private string ForeignAssemblyName;
|
||||
private bool? IsHotReloadAvailable;
|
||||
private DisposableCollection Disposables = new();
|
||||
private bool IsDisposed;
|
||||
|
||||
internal static readonly Assembly? EntryAssembly;
|
||||
internal static readonly string HostingProcessDir;
|
||||
|
||||
static MediaControllerWidgetView()
|
||||
{
|
||||
EntryAssembly = Assembly.GetEntryAssembly();
|
||||
HostingProcessDir = Path.GetDirectoryName(EntryAssembly.Location);
|
||||
}
|
||||
|
||||
public void Foo(string assemblyPath)
|
||||
{
|
||||
// TODO: For some reason WinUI gets very angry when loading via AssemblyLoadContext,
|
||||
// even if using AssemblyLoadContext.Default which *should* have no difference than
|
||||
// Assembly.LoadFrom(), but it does.
|
||||
//
|
||||
// ExtensionContext = new(assemblyPath);
|
||||
// ForeignAssembly = ExtensionContext.LoadFromAssemblyPath(assemblyPath);
|
||||
ForeignAssembly = Assembly.LoadFrom(assemblyPath);
|
||||
ForeignAssemblyDir = Path.GetDirectoryName(ForeignAssembly.Location);
|
||||
ForeignAssemblyName = ForeignAssembly.GetName().Name;
|
||||
}
|
||||
|
||||
private string LocateResourcePath(object component, [CallerFilePath] string callerFilePath = "")
|
||||
{
|
||||
if (component.GetType().Assembly != ForeignAssembly)
|
||||
{
|
||||
throw new InvalidProgramException();
|
||||
}
|
||||
string resourceName = Path.GetFileName(callerFilePath)[..^3];
|
||||
|
||||
string[] pathParts = callerFilePath.Split('\\')[..^1];
|
||||
for (int i = pathParts.Length - 1; i > 1; i++)
|
||||
{
|
||||
string pathCandidate = Path.Join(pathParts[i..pathParts.Length].Append(resourceName).Prepend(ForeignAssemblyName).ToArray());
|
||||
FileInfo sourceResource = new(Path.Combine(ForeignAssemblyDir, pathCandidate));
|
||||
FileInfo colocatedResource = new(Path.Combine(HostingProcessDir, pathCandidate));
|
||||
if (colocatedResource.Exists)
|
||||
{
|
||||
return pathCandidate;
|
||||
}
|
||||
if (sourceResource.Exists)
|
||||
{
|
||||
return sourceResource.FullName;
|
||||
}
|
||||
|
||||
throw new FileNotFoundException("Could not find resource", resourceName);
|
||||
}
|
||||
|
||||
throw new FileNotFoundException("Could not find resource", resourceName);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public class MediaControllerWidgetViewModel(ITemplateFactory templateFactory,
|
||||
IServiceFactory serviceFactory,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public record MediaInformation(string Title, string Description);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<UserControl
|
||||
x:Class="Hyperbar.Windows.MediaController.MediaInformationView"
|
||||
x:Class="Hyperbar.Widget.MediaController.Windows.MediaInformationView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:interactions="using:Microsoft.Xaml.Interactions.Core"
|
||||
@@ -0,0 +1,10 @@
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using Hyperbar.UI.Windows;
|
||||
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public sealed partial class MediaInformationView :
|
||||
UserControl
|
||||
{
|
||||
public MediaInformationView() => this.InitializeComponent(ref _contentLoaded);
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public partial class MediaInformationViewModel(IServiceFactory serviceFactory,
|
||||
IMediator mediator,
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public record Pause : INotification;
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public record Play : INotification;
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace Hyperbar.Widget.MediaController.Windows;
|
||||
|
||||
public record Playback : INotification;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
public class KeyAcceleratorCommandConfiguration :
|
||||
PrimaryCommandConfiguration
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
[JsonDerivedType(typeof(KeyAcceleratorCommandConfiguration), typeDiscriminator: "KeyAcceleratorCommand")]
|
||||
[JsonDerivedType(typeof(ProcessCommandConfiguration), typeDiscriminator: "ProcessCommand")]
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using Hyperbar.Widget;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
public class PrimaryWidget :
|
||||
IWidget
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
public class PrimaryWidgetConfiguration :
|
||||
WidgetConfiguration
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
public class PrimaryWidgetConfigurationHandler(IMediator mediator,
|
||||
PrimaryWidgetConfiguration configuration,
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
[NotificationHandler(nameof(PrimaryWidgetViewModel))]
|
||||
public class PrimaryWidgetViewModel(ITemplateFactory templateFactory,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
public class ProcessCommandConfiguration :
|
||||
PrimaryCommandConfiguration
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
public class WidgetComponentFactory(IServiceFactory factory,
|
||||
IMediator mediator,
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
public class WidgetComponentProvider(ICache<Guid, IWidgetComponentViewModel> cache) :
|
||||
IProvider<PrimaryCommandConfiguration, IWidgetComponentViewModel?>
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Hyperbar.Widget;
|
||||
|
||||
namespace Hyperbar.Windows.Primary;
|
||||
namespace Hyperbar.Widget.Primary.Windows;
|
||||
|
||||
public class WidgetComponentViewModelEnumerator(PrimaryWidgetConfiguration configuration,
|
||||
IMediator mediator,
|
||||
@@ -3,6 +3,7 @@
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<UserSecretsId>1ed4d3bf-c619-4e7e-bbb1-517754d864cd</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Hyperbar\Hyperbar.csproj" />
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Hyperbar.Widget;
|
||||
|
||||
public interface IWidgetResourceInitialization :
|
||||
IInitializer
|
||||
{
|
||||
|
||||
}
|
||||
@@ -4,7 +4,8 @@ using System.Runtime.Loader;
|
||||
|
||||
namespace Hyperbar.Widget;
|
||||
|
||||
public class WidgetEnumerator(IHostEnvironment hostEnvironment,
|
||||
public class WidgetEnumerator(IFactory<Type, IWidget> factory,
|
||||
IHostEnvironment hostEnvironment,
|
||||
IMediator mediator) :
|
||||
INotificationHandler<Enumerate<IWidget>>
|
||||
{
|
||||
@@ -21,10 +22,17 @@ public class WidgetEnumerator(IHostEnvironment hostEnvironment,
|
||||
.SelectMany(assemblyDirectory => Directory.GetFiles(assemblyDirectory, "*.dll"))
|
||||
];
|
||||
|
||||
Parallel.ForEach(assemblyPaths, (string assemblyPath) =>
|
||||
Parallel.ForEach(assemblyPaths, async (string assemblyPath) =>
|
||||
{
|
||||
Assembly assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(assemblyPath);
|
||||
mediator.PublishAsync(new Created<Assembly>(assembly));
|
||||
if (assembly.GetTypes().FirstOrDefault(x => typeof(IWidget).IsAssignableFrom(x)) is Type widgetType)
|
||||
{
|
||||
if (factory.Create(widgetType) is IWidget widget)
|
||||
{
|
||||
await mediator.PublishAsync(new Created<IWidget>(widget),
|
||||
cancellationToken);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
|
||||
<UseWinUI>true</UseWinUI>
|
||||
<UseRidGraph>true</UseRidGraph>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.231202003-experimental1" />
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.25936-preview" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Hyperbar.Windows.Interop\Hyperbar.Windows.Interop.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Windows.UI\Hyperbar.Windows.UI.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,7 +0,0 @@
|
||||
namespace Hyperbar.Windows.Interop
|
||||
{
|
||||
public interface IVirtualKeyboard
|
||||
{
|
||||
void Send(int key, params int[] modifierKeys);
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
|
||||
public record Backward : INotification;
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
|
||||
public record Foward : INotification;
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
|
||||
public record Pause : INotification;
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
|
||||
public record Play : INotification;
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
|
||||
public record Playback : INotification;
|
||||
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<UserControl
|
||||
x:Class="Hyperbar.Windows.MediaController.MediaControllerWidgetView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="using:Hyperbar.Windows.UI">
|
||||
<FlipView
|
||||
x:Name="FlipView"
|
||||
Width="400"
|
||||
Background="Transparent"
|
||||
ItemTemplateSelector="{Binding Converter={ui:DataTemplateConverter}}"
|
||||
ItemsSource="{Binding}" />
|
||||
</UserControl>
|
||||
@@ -1,8 +0,0 @@
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
|
||||
public sealed partial class MediaControllerWidgetView :
|
||||
UserControl
|
||||
{
|
||||
public MediaControllerWidgetView() => InitializeComponent();
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
|
||||
namespace Hyperbar.Windows.MediaController;
|
||||
|
||||
public sealed partial class MediaInformationView :
|
||||
UserControl
|
||||
{
|
||||
public MediaInformationView() => InitializeComponent();
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
x:Class="Hyperbar.Windows.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="using:Hyperbar.Windows.UI">
|
||||
xmlns:ui="using:Hyperbar.UI.Windows">
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
using Hyperbar.Widget;
|
||||
using Hyperbar.Windows.Controls;
|
||||
using Hyperbar.Windows.Interop;
|
||||
using Hyperbar.Windows.UI;
|
||||
using CustomExtensions.WinUI;
|
||||
using Hyperbar.Controls.Windows;
|
||||
using Hyperbar.Interop.Windows;
|
||||
using Hyperbar.UI.Windows;
|
||||
using Hyperbar.Widget;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Configuration.Json;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.UI.Dispatching;
|
||||
using Microsoft.UI.Xaml;
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using Windows.Media.Control;
|
||||
|
||||
namespace Hyperbar.Windows;
|
||||
|
||||
public partial class App :
|
||||
Application
|
||||
{
|
||||
public App() => InitializeComponent();
|
||||
public App()
|
||||
{
|
||||
InitializeComponent();
|
||||
ApplicationExtensionHost.Initialize(this);
|
||||
}
|
||||
|
||||
protected override async void OnLaunched(LaunchActivatedEventArgs args)
|
||||
{
|
||||
base.OnLaunched(args);
|
||||
|
||||
IHost? host = new HostBuilder()
|
||||
.UseContentRoot(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
|
||||
Assembly.GetEntryAssembly()?.GetName().Name!), true)
|
||||
@@ -71,35 +74,9 @@ public partial class App :
|
||||
services.AddContentTemplate<WidgetButtonViewModel, WidgetButtonView>();
|
||||
services.AddContentTemplate<WidgetSplitButtonViewModel, WidgetSplitButtonView>();
|
||||
}));
|
||||
|
||||
//services.AddTransient(provider =>
|
||||
//{
|
||||
// static IEnumerable<WidgetContainerViewModel> Resolve(IServiceProvider services)
|
||||
// {
|
||||
// int index = 0;
|
||||
// foreach (WidgetContext widgetContext in services.GetServices<WidgetContext>())
|
||||
// {
|
||||
// if (widgetContext.ServiceProvider.GetService<IWidget>() is IWidget widget)
|
||||
// {
|
||||
// if (widgetContext.ServiceProvider.GetServices<IWidgetViewModel>() is
|
||||
// IEnumerable<IWidgetViewModel> viewModels)
|
||||
// {
|
||||
// yield return (WidgetContainerViewModel)ActivatorUtilities.CreateInstance(widgetContext.ServiceProvider,
|
||||
// typeof(WidgetContainerViewModel), viewModels, index % 2 == 1, widget.Id);
|
||||
|
||||
// index++;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// return Resolve(provider);
|
||||
//});
|
||||
})
|
||||
.Build();
|
||||
|
||||
var d = host.Services.GetService<JsonConfigurationProvider>();
|
||||
|
||||
await host.RunAsync();
|
||||
}
|
||||
}
|
||||
@@ -32,10 +32,12 @@
|
||||
<PackageReference Include="CommunityToolkit.WinUI" Version="7.1.2" />
|
||||
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls" Version="7.1.2" />
|
||||
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Primitives" Version="7.1.2" />
|
||||
<PackageReference Include="CustomExtensions.WinUI" Version="0.1.10-beta" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.231202003-experimental1" />
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.25936-preview" />
|
||||
<PackageReference Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" /> <Manifest Include="$(ApplicationManifest)" />
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26031-preview" />
|
||||
<PackageReference Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
|
||||
<Manifest Include="$(ApplicationManifest)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
|
||||
<ProjectCapability Include="Msix" />
|
||||
@@ -44,10 +46,10 @@
|
||||
<HasPackageAndPublishMenu>true</HasPackageAndPublishMenu>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Hyperbar.Controls.Windows\Hyperbar.Controls.Windows.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Interop.Windows\Hyperbar.Interop.Windows.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.UI.Windows\Hyperbar.UI.Windows.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Widget\Hyperbar.Widget.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Windows.Controls\Hyperbar.Windows.Controls.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Windows.Interop\Hyperbar.Windows.Interop.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar.Windows.UI\Hyperbar.Windows.UI.csproj" />
|
||||
<ProjectReference Include="..\Hyperbar\Hyperbar.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,4 +1,4 @@
|
||||
using Hyperbar.Windows.Controls;
|
||||
using Hyperbar.Controls.Windows;
|
||||
|
||||
namespace Hyperbar.Windows;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Hyperbar.Widget;
|
||||
using Hyperbar.Windows.Controls;
|
||||
using Hyperbar.Controls.Windows;
|
||||
using Hyperbar.Widget;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Hyperbar.Windows;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Hyperbar.Windows.Controls;
|
||||
using Hyperbar.Controls.Windows;
|
||||
|
||||
namespace Hyperbar.Windows;
|
||||
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
using Hyperbar.Windows.Interop;
|
||||
using Hyperbar.Windows.UI;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
|
||||
namespace Hyperbar.Windows
|
||||
{
|
||||
//public static class IServiceCollectionExtensions
|
||||
//{
|
||||
// public static IServiceCollection AddWidget<TWidget>(this IServiceCollection services)
|
||||
// where TWidget :
|
||||
// IWidget,
|
||||
// new()
|
||||
// {
|
||||
// IHost? host = new HostBuilder()
|
||||
// .UseContentRoot(AppContext.BaseDirectory)
|
||||
// .ConfigureAppConfiguration(config =>
|
||||
// {
|
||||
// config.SetBasePath(AppContext.BaseDirectory);
|
||||
// config.AddJsonFile("Settings.json", true, true);
|
||||
// })
|
||||
// .ConfigureServices((context, isolatedServices) =>
|
||||
// {
|
||||
// isolatedServices.AddScoped<IServiceFactory>(provider =>
|
||||
// new ServiceFactory((type, parameters) => ActivatorUtilities.CreateInstance(provider, type, parameters!)));
|
||||
|
||||
// isolatedServices.AddHostedService<WidgetService>();
|
||||
// isolatedServices.AddTransient<ITemplateFactory, TemplateFactory>();
|
||||
|
||||
// isolatedServices.AddScoped<IMediator, Mediator>();
|
||||
// isolatedServices.AddScoped<IDisposer, Disposer>();
|
||||
// isolatedServices.AddSingleton<IDispatcher, Dispatcher>();
|
||||
|
||||
// isolatedServices.AddScoped<IVirtualKeyboard, VirtualKeyboard>();
|
||||
|
||||
// isolatedServices.AddHandler<KeyAcceleratorHandler>();
|
||||
// isolatedServices.AddHandler<StartProcessHandler>();
|
||||
|
||||
// isolatedServices.AddTransient<IWidgetView, WidgetView>();
|
||||
|
||||
// isolatedServices.AddContentTemplate<WidgetContainerViewModel, WidgetContainerView>();
|
||||
// isolatedServices.AddContentTemplate<WidgetButtonViewModel, WidgetButtonView>();
|
||||
// isolatedServices.AddContentTemplate<WidgetSplitButtonViewModel, WidgetSplitButtonView>();
|
||||
|
||||
// TWidget widget = new();
|
||||
// IWidgetBuilder builder = widget.Create();
|
||||
|
||||
// isolatedServices.AddRange(builder.Services);
|
||||
|
||||
// }).Build();
|
||||
|
||||
// services.AddTransient(provider => new WidgetContext(host.Services));
|
||||
|
||||
// host.Start();
|
||||
// return services;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using Hyperbar.Windows.Interop;
|
||||
using Hyperbar.Interop.Windows;
|
||||
|
||||
namespace Hyperbar.Windows;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
x:Class="Hyperbar.Windows.WidgetBarView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="using:Hyperbar.Windows.UI">
|
||||
xmlns:ui="using:Hyperbar.UI.Windows">
|
||||
<ItemsControl ItemTemplateSelector="{Binding Converter={ui:DataTemplateConverter}}" ItemsSource="{Binding}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:interactions="using:Microsoft.Xaml.Interactions.Core"
|
||||
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
|
||||
xmlns:ui="using:Hyperbar.Windows.UI">
|
||||
xmlns:ui="using:Hyperbar.UI.Windows">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:interactions="using:Microsoft.Xaml.Interactions.Core"
|
||||
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
|
||||
xmlns:ui="using:Hyperbar.Windows.UI">
|
||||
xmlns:ui="using:Hyperbar.UI.Windows">
|
||||
<Grid>
|
||||
<ItemsControl ItemTemplateSelector="{Binding Converter={ui:DataTemplateConverter}}" ItemsSource="{Binding Mode=TwoWay}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
|
||||
+104
-104
@@ -5,21 +5,21 @@ VisualStudioVersion = 17.8.34330.188
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows", "Hyperbar.Windows\Hyperbar.Windows.csproj", "{5C4824EE-23AB-495C-B55A-1F7C2A489698}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows.Controls", "Hyperbar.Windows.Controls\Hyperbar.Windows.Controls.csproj", "{48ECC6A3-94FF-405D-9DB5-46A725C1B117}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar", "Hyperbar\Hyperbar.csproj", "{E5795878-C7E3-4386-86FA-33681BCF8D5B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.Contextual", "Hyperbar.Windows.Contextual\Hyperbar.Widget.Contextual.csproj", "{C32D4073-2A9B-4257-8895-09951FAD8E7A}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget", "Hyperbar.Widget\Hyperbar.Widget.csproj", "{D38F95E6-744B-45DB-AF67-F331FB73615A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.Primary", "Hyperbar.Windows.Primary\Hyperbar.Widget.Primary.csproj", "{AFB8A3EB-8831-4041-AE05-3E0EF672887C}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Controls.Windows", "Hyperbar.Controls.Windows\Hyperbar.Controls.Windows.csproj", "{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows.UI", "Hyperbar.Windows.UI\Hyperbar.Windows.UI.csproj", "{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Interop.Windows", "Hyperbar.Interop.Windows\Hyperbar.Interop.Windows.csproj", "{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows.Interop", "Hyperbar.Windows.Interop\Hyperbar.Windows.Interop.csproj", "{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.UI.Windows", "Hyperbar.UI.Windows\Hyperbar.UI.Windows.csproj", "{97077400-7513-451E-83CB-C876D6C4E40E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows.MediaController", "Hyperbar.Windows.MediaController\Hyperbar.Windows.MediaController.csproj", "{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.Contextual", "Hyperbar.Widget.Contextual.Windows\Hyperbar.Widget.Contextual.csproj", "{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hyperbar.Widget", "Hyperbar.Widget\Hyperbar.Widget.csproj", "{D38F95E6-744B-45DB-AF67-F331FB73615A}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.Primary", "Hyperbar.Widget.Primary.Windows\Hyperbar.Widget.Primary.csproj", "{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.MediaController.Windows", "Hyperbar.Widget.MediaController.Windows\Hyperbar.Widget.MediaController.Windows.csproj", "{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -57,22 +57,6 @@ Global
|
||||
{5C4824EE-23AB-495C-B55A-1F7C2A489698}.Release|x86.ActiveCfg = Release|x86
|
||||
{5C4824EE-23AB-495C-B55A-1F7C2A489698}.Release|x86.Build.0 = Release|x86
|
||||
{5C4824EE-23AB-495C-B55A-1F7C2A489698}.Release|x86.Deploy.0 = Release|x86
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|x64.Build.0 = Release|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E5795878-C7E3-4386-86FA-33681BCF8D5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E5795878-C7E3-4386-86FA-33681BCF8D5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E5795878-C7E3-4386-86FA-33681BCF8D5B}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
@@ -89,86 +73,6 @@ Global
|
||||
{E5795878-C7E3-4386-86FA-33681BCF8D5B}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E5795878-C7E3-4386-86FA-33681BCF8D5B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E5795878-C7E3-4386-86FA-33681BCF8D5B}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|x86.Build.0 = Release|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|x64.Build.0 = Release|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D38F95E6-744B-45DB-AF67-F331FB73615A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D38F95E6-744B-45DB-AF67-F331FB73615A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D38F95E6-744B-45DB-AF67-F331FB73615A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
@@ -185,6 +89,102 @@ Global
|
||||
{D38F95E6-744B-45DB-AF67-F331FB73615A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D38F95E6-744B-45DB-AF67-F331FB73615A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D38F95E6-744B-45DB-AF67-F331FB73615A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|x86.Build.0 = Release|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{97077400-7513-451E-83CB-C876D6C4E40E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|x64.Build.0 = Release|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|x64.Build.0 = Release|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
|
||||
<PackageReference Include="System.Reactive" Version="5.0.0" />
|
||||
<PackageReference Include="System.Reactive" Version="6.0.1-preview.1" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user