mirror of
https://github.com/PrismLibrary/Prism.git
synced 2026-10-29 13:38:03 +08:00
feat: provide ConfigureWindow for Uno
This commit is contained in:
+20
-20
@@ -15,38 +15,38 @@
|
||||
</ItemGroup>
|
||||
<!-- Uno -->
|
||||
<ItemGroup Condition=" $(IsUnoProject) == 'true' ">
|
||||
<PackageVersion Include="Uno.WinUI" Version="5.0.19" />
|
||||
<PackageVersion Include="Uno.WinUI.Skia.Gtk" Version="5.0.19" />
|
||||
<PackageVersion Include="Uno.WinUI.Skia.Linux.FrameBuffer" Version="5.0.19" />
|
||||
<PackageVersion Include="Uno.WinUI.Skia.Wpf" Version="5.0.19" />
|
||||
<PackageVersion Include="Uno.Wasm.Bootstrap" Version="8.0.0" />
|
||||
<PackageVersion Include="Uno.Wasm.Bootstrap.DevServer" Version="8.0.0" />
|
||||
<PackageVersion Include="Uno.WinUI.WebAssembly" Version="5.0.19" />
|
||||
<PackageVersion Include="Uno.WinUI.DevServer" Version="5.0.19" />
|
||||
<PackageVersion Include="Uno.UI.Adapter.Microsoft.Extensions.Logging" Version="5.0.19" />
|
||||
<PackageVersion Include="Uno.WinUI" Version="5.0.48" />
|
||||
<PackageVersion Include="Uno.WinUI.Skia.Gtk" Version="5.0.48" />
|
||||
<PackageVersion Include="Uno.WinUI.Skia.Linux.FrameBuffer" Version="5.0.48" />
|
||||
<PackageVersion Include="Uno.WinUI.Skia.Wpf" Version="5.0.48" />
|
||||
<PackageVersion Include="Uno.Wasm.Bootstrap" Version="8.0.4" />
|
||||
<PackageVersion Include="Uno.Wasm.Bootstrap.DevServer" Version="8.0.4" />
|
||||
<PackageVersion Include="Uno.WinUI.WebAssembly" Version="5.0.48" />
|
||||
<PackageVersion Include="Uno.WinUI.DevServer" Version="5.0.48" />
|
||||
<PackageVersion Include="Uno.UI.Adapter.Microsoft.Extensions.Logging" Version="5.0.48" />
|
||||
<PackageVersion Include="Uno.Core" Version="4.0.1" />
|
||||
<PackageVersion Include="Uno.Core.Extensions.Logging.Singleton" Version="4.0.1" />
|
||||
<PackageVersion Include="Uno.Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.4.2" />
|
||||
<PackageVersion Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
|
||||
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.2.221109.1" Condition="$(MSBuildProjectName.Contains('Prism'))" />
|
||||
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.4.231008000" Condition="!$(MSBuildProjectName.Contains('Prism'))" />
|
||||
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.4.231115000" Condition="!$(MSBuildProjectName.Contains('Prism'))" />
|
||||
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.2428" />
|
||||
<PackageVersion Include="SkiaSharp.Views.Uno.WinUI" Version="2.88.6" />
|
||||
<PackageVersion Include="SkiaSharp.Skottie" Version="2.88.6" />
|
||||
<PackageVersion Include="Uno.Resizetizer" Version="1.2.0" />
|
||||
<PackageVersion Include="Uno.Resizetizer" Version="1.2.1" />
|
||||
<PackageVersion Include="Uno.Extensions.Core" Version="3.0.10" />
|
||||
<PackageVersion Include="Uno.Extensions.Logging.OSLog" Version="1.7.0" />
|
||||
<PackageVersion Include="Uno.Extensions.Logging.WinUI" Version="3.0.10" />
|
||||
<PackageVersion Include="Uno.Extensions.Logging.Serilog" Version="3.0.10" />
|
||||
<PackageVersion Include="Uno.Extensions.Logging.WinUI" Version="3.0.11" />
|
||||
<PackageVersion Include="Uno.Extensions.Logging.Serilog" Version="3.0.11" />
|
||||
<PackageVersion Include="Uno.Extensions.Logging.WebAssembly.Console" Version="1.7.0" />
|
||||
<PackageVersion Include="Uno.Material.WinUI" Version="4.0.4" />
|
||||
<PackageVersion Include="Uno.Toolkit.WinUI.Material" Version="5.0.15" />
|
||||
<PackageVersion Include="Uno.Toolkit.WinUI" Version="5.0.15" />
|
||||
<PackageVersion Include="Uno.Extensions.Hosting.WinUI" Version="3.0.10" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
|
||||
<PackageVersion Include="Uno.Material.WinUI" Version="4.0.6" />
|
||||
<PackageVersion Include="Uno.Toolkit.WinUI.Material" Version="5.0.17" />
|
||||
<PackageVersion Include="Uno.Toolkit.WinUI" Version="5.0.17" />
|
||||
<PackageVersion Include="Uno.Extensions.Hosting.WinUI" Version="3.0.11" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
|
||||
<PackageVersion Include="Xamarin.Google.Android.Material" Version="1.10.0.1" />
|
||||
<PackageVersion Include="Uno.UniversalImageLoader" Version="1.9.36" />
|
||||
<PackageVersion Include="Microsoft.Windows.Compatibility" Version="7.0.5" />
|
||||
<PackageVersion Include="Microsoft.Windows.Compatibility" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
<!-- Tests -->
|
||||
<ItemGroup>
|
||||
@@ -77,6 +77,6 @@
|
||||
<!-- Global Packages -->
|
||||
<PackageVersion Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
|
||||
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.6.133" />
|
||||
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
|
||||
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
<PackageReference Include="Uno.Extensions.Logging.OSLog" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.Serilog" />
|
||||
<PackageReference Include="Uno.Extensions.Core" />
|
||||
</ItemGroup>
|
||||
<Choose>
|
||||
<When Condition="$(IsAndroid)">
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
<PackageReference Include="Uno.Extensions.Hosting.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.Serilog" />
|
||||
<PackageReference Include="Uno.Extensions.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\HelloWorld\HelloWorld.csproj" />
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
<PackageReference Include="Uno.Extensions.Hosting.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.Serilog" />
|
||||
<PackageReference Include="Uno.Extensions.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\HelloWorld\HelloWorld.csproj" />
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
<PackageReference Include="Uno.Extensions.Hosting.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.Serilog" />
|
||||
<PackageReference Include="Uno.Extensions.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="Wpf\App.xaml" XamlRuntime="Wpf" />
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
<PackageReference Include="Uno.Extensions.Logging.WebAssembly.Console" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.Serilog" />
|
||||
<PackageReference Include="Uno.Extensions.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\HelloWorld\HelloWorld.csproj" />
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
<PackageReference Include="Uno.Extensions.Hosting.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.Serilog" />
|
||||
<PackageReference Include="Uno.Extensions.Core" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using HelloWorld.Views;
|
||||
using ModuleA;
|
||||
using Uno.UI;
|
||||
|
||||
namespace HelloWorld;
|
||||
|
||||
@@ -35,6 +36,13 @@ public class App : PrismApplication
|
||||
});
|
||||
}
|
||||
|
||||
protected override void ConfigureWindow(Window window)
|
||||
{
|
||||
#if DEBUG
|
||||
window.EnableHotReload();
|
||||
#endif
|
||||
}
|
||||
|
||||
protected override void RegisterTypes(IContainerRegistry containerRegistry)
|
||||
{
|
||||
// Register types with the container or for Navigation
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Uno.WinUI" />
|
||||
<PackageReference Include="Uno.Resizetizer" />
|
||||
<PackageReference Include="Uno.Extensions.Core" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Logging.Serilog" />
|
||||
<PackageReference Include="Uno.Material.WinUI" />
|
||||
@@ -19,6 +18,7 @@
|
||||
<PackageReference Include="Uno.Toolkit.WinUI" />
|
||||
<PackageReference Include="Uno.Extensions.Hosting.WinUI" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
|
||||
<PackageReference Include="Uno.WinUI.DevServer" Condition=" $(Configuration) == 'Debug' " />
|
||||
</ItemGroup>
|
||||
|
||||
<Choose>
|
||||
|
||||
@@ -345,7 +345,7 @@ public class PageNavigationService : INavigationService, IRegistryAware
|
||||
|
||||
animated = parameters.ContainsKey(KnownNavigationParameters.Animated) ?
|
||||
parameters.GetValue<bool>(KnownNavigationParameters.Animated) :
|
||||
pageParameters.ContainsKey(KnownNavigationParameters.Animated) ? pageParameters.GetValue<bool>(KnownNavigationParameters.Animated) : true;
|
||||
pageParameters.ContainsKey(KnownNavigationParameters.Animated) ? pageParameters.GetValue<bool>(KnownNavigationParameters.Animated) : true;
|
||||
|
||||
if (nextSegment == RemovePageSegment)
|
||||
{
|
||||
@@ -837,7 +837,7 @@ public class PageNavigationService : INavigationService, IRegistryAware
|
||||
{
|
||||
var tabSegment = tabSegments[i];
|
||||
var child = CreatePageFromSegment(tabSegment);
|
||||
var childParameters = UriParsingHelper.GetSegmentParameters(tabSegment, parameters);
|
||||
var childParameters = UriParsingHelper.GetSegmentParameters(tabSegment, parameters);
|
||||
if (i == 0 && child is NavigationPage navPage)
|
||||
{
|
||||
navigationPage = navPage;
|
||||
|
||||
@@ -88,6 +88,20 @@ namespace Prism
|
||||
/// <param name="builder">The <see cref="IHostBuilder" />.</param>
|
||||
protected virtual void ConfigureHost(IHostBuilder builder) { }
|
||||
|
||||
/// <summary>
|
||||
/// Provides an opportunity to initialize services or otherwise prepare the application Window.
|
||||
/// </summary>
|
||||
/// <param name="window">The primary application <see cref="Window"/></param>
|
||||
/// <example>
|
||||
/// protected override void ConfigureWindow(Window window)
|
||||
/// {
|
||||
/// #if DEBUG
|
||||
/// window.EnableHotReload();
|
||||
/// #endif
|
||||
/// }
|
||||
/// </example>
|
||||
protected virtual void ConfigureWindow(Window window) { }
|
||||
|
||||
/// <summary>
|
||||
/// Register Services with the <see cref="IServiceCollection" />.
|
||||
/// </summary>
|
||||
@@ -104,6 +118,7 @@ namespace Prism
|
||||
protected virtual void Initialize(IApplicationBuilder builder)
|
||||
{
|
||||
ConfigureApp(builder);
|
||||
ConfigureWindow(builder.Window);
|
||||
builder.Configure(ConfigureHost)
|
||||
.Configure(x => x.ConfigureServices(ConfigureServices)
|
||||
.UseServiceProviderFactory(new PrismServiceProviderFactory(_containerExtension)));
|
||||
|
||||
Reference in New Issue
Block a user