Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prism.Avalonia Library #3127

Open
wants to merge 43 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
015a067
Imported Prism.Avalonia v9.0.401.11000-pre raw files (unconverted)
DamianSuess Apr 28, 2024
bd733fe
Updated references
DamianSuess Apr 28, 2024
c9de64e
Prism.Avalonia to use standard Prism icon
DamianSuess Apr 28, 2024
d911be0
Removed unnecessary reference to DryIoc. It now pulls from, Prism.Con…
DamianSuess Apr 28, 2024
945c75c
Code cleanup; removed `this`
DamianSuess Apr 28, 2024
04570dd
Merge branch 'master' into dev/suess/Prism.Avalonia
DamianSuess May 16, 2024
08af037
Merge branch 'master' into dev/suess/Prism.Avalonia
DamianSuess Jun 7, 2024
079b26f
Merge branch 'dev/suess/Prism.Avalonia' of https://github.com/DamianS…
DamianSuess Jun 7, 2024
faa1058
Added tests for dryioc. Prism.Avalonia no longer requires Avalonia.Re…
DamianSuess Jul 27, 2024
ad1c4a7
Updated ItemsControlRegionAdapter to fix previous-binding and allow i…
DamianSuess Aug 4, 2024
39d99e7
notes
DamianSuess Aug 4, 2024
e3cf4c9
Temp removal of container provider extension
DamianSuess Aug 4, 2024
0d3985e
Added Prism.Avalonia tests to solution with notes
DamianSuess Aug 22, 2024
9baea1a
Merge branch 'master' into dev/suess/Prism.Avalonia
DamianSuess Aug 22, 2024
98eb8a2
Added Avalonia build YML
DamianSuess Aug 22, 2024
46f7cca
Synced NuGets with Prism.Avalonia and added libs to Directory.Build.p…
DamianSuess Aug 22, 2024
06f68ca
chore: begin removing duplicate code
dansiegel Aug 28, 2024
ef3274d
Updated exception messages
DamianSuess Aug 31, 2024
366f3fc
readme link
DamianSuess Aug 31, 2024
d4b2a05
Prism.Avalonia.Tests - Disabled ImplicitUsing for code clarity
DamianSuess Aug 31, 2024
d976f0d
Disabled ImplicitUsing for Avalonia test project clarity, adding `usi…
DamianSuess Aug 31, 2024
64717c4
Base sample Prism.Avalonia app
DamianSuess Sep 1, 2024
1d99cd6
Merge pull request #1 from DamianSuess/dev/suess/Prism.Avalonia-Sample
DamianSuess Sep 1, 2024
6a1a0de
Removed unused reference and cleanup
DamianSuess Oct 13, 2024
4bde483
Sample Prism.Avalonia app with binding, sidebar, journaling, notifica…
DamianSuess Oct 13, 2024
5ae5022
Fixed demo style to use assembly not namespace
DamianSuess Oct 13, 2024
765cf35
Merge branch 'master' into dev/suess/Prism.Avalonia
DamianSuess Oct 23, 2024
7e2ea53
Cleanup
DamianSuess Oct 23, 2024
a8c8338
Avalonia cleanup, reducing warnings and added XML documentation
DamianSuess Oct 23, 2024
33c9a49
Prism.DryIoc.Avalonia.Tests includes package GitHubActionsTestLogger
Nov 3, 2024
a89c6e2
Prism.Avalonia test projects, added GitHubActionsTestLogger
Nov 3, 2024
b342c60
Cleanup - removed unused block
Nov 3, 2024
72a959a
Updated readme to include Prism.Avalonia. Removed Prism.Forms build b…
DamianSuess Dec 14, 2024
b083a4e
GitHub build workflow CI and releases for Prism.Avalonia. Readme incl…
DamianSuess Dec 14, 2024
6452d99
Reduced duplicated code in Prism.DryIoc.Avalonia via compile link wit…
DamianSuess Dec 14, 2024
3e214f3
Reduced duplicated code between Prism.Avalonia and Prism.Wpf `Navigat…
DamianSuess Dec 14, 2024
0e64438
Fixed typo in build_avalonia.yml
DamianSuess Dec 14, 2024
58b02da
Reduced code duplication in Prism.Avalonia's Prism.Navigation.Regions…
DamianSuess Dec 15, 2024
424a303
Reduced code duplication between WPF and Avalonia namespace, Prism.Na…
DamianSuess Dec 15, 2024
f10d13c
Reduced code duplication in Prism.Avalonia's Extensions, Interactivit…
DamianSuess Dec 16, 2024
402993e
Prism.Avalonia UTF8-BOM to UTF-8
DamianSuess Dec 16, 2024
a1e9d71
Prism.Avalonia E2E sample - Enhanced NavigationService sample
DamianSuess Dec 16, 2024
f098383
Disabled ImplicitUsing in e2e sample so users know what to include
DamianSuess Dec 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/build_avalonia.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: build_avalonia

on:
workflow_dispatch:
pull_request:
branches:
- master
paths:
- .github/workflows/build_forms.yml
- Directory.Build.props
- Directory.Build.targets
- Directory.Packages.props
- xunit.runner.json
- 'src/Prism.Core/**'
- 'src/Prism.Events/**'
- 'tests/Prism.Core.Tests/**'
- 'src/Avalonia/**'
- 'tests/Avalonia/**'

jobs:
build-prism-avalonia:
uses: avantipoint/workflow-templates/.github/workflows/dotnet-build.yml@v1
with:
name: Build Prism.Avalonia
solution-path: PrismLibrary_Avalonia.slnf
22 changes: 21 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,20 @@ jobs:
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
codeSignCertificate: ${{ secrets.CodeSignCertificate }}

build-prism-avalonia:
uses: avantipoint/workflow-templates/.github/workflows/dotnet-build.yml@v1
with:
name: Build Prism.Avalonia
solution-path: PrismLibrary_Avalonia.slnf
code-sign: true
artifact-name: Avalonia
secrets:
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
codeSignClientId: ${{ secrets.CodeSignClientId }}
codeSignTenantId: ${{ secrets.CodeSignTenantId }}
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
codeSignCertificate: ${{ secrets.CodeSignCertificate }}

build-prism-uno:
uses: avantipoint/workflow-templates/.github/workflows/msbuild-build.yml@v1
with:
Expand Down Expand Up @@ -89,7 +103,7 @@ jobs:
codeSignCertificate: ${{ secrets.CodeSignCertificate }}

generate-consolidated-artifacts:
needs: [build-prism-core, build-prism-wpf, build-prism-uno, build-prism-maui]
needs: [build-prism-core, build-prism-wpf, build-prism-avalonia, build-prism-uno, build-prism-maui]
runs-on: windows-latest
steps:
- name: Checkout
Expand All @@ -107,6 +121,12 @@ jobs:
name: Wpf
path: artifacts\Wpf

- name: Download Avalonia
uses: actions/download-artifact@v3
with:
name: Avalonia
path: artifacts\Avalonia

- name: Download Uno
uses: actions/download-artifact@v3
with:
Expand Down
18 changes: 18 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
<IsUnoProject>$(MSBuildProjectName.Contains('Uno'))</IsUnoProject>
<IsFormsProject>$(MSBuildProjectName.Contains('Forms'))</IsFormsProject>
<IsMauiProject>$(MSBuildProjectName.Contains('Maui'))</IsMauiProject>
<IsAvaloniaProject>$(MSBuildProjectName.Contains('Avalonia'))</IsAvaloniaProject>
<SignAssembly Condition=" ('$(IsCoreProject)' Or '$(IsWpfProject)') ">True</SignAssembly>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)prism.snk</AssemblyOriginatorKeyFile>
<DelaySign>False</DelaySign>
Expand All @@ -49,6 +50,7 @@
<PackageTags Condition=" '$(IsWpfProject)' == 'True' ">prism;mvvm;wpf;dependency injection;di</PackageTags>
<PackageTags Condition=" '$(IsUnoProject)' == 'True' ">prism;mvvm;winui;uno-platform;xamarin;webassembly;android;ios;macos;dependency injection;di</PackageTags>
<PackageTags Condition=" '$(IsFormsProject)' == 'True' ">prism;mvvm;uwp;android;ios;xamarin;xamarin.forms;dependency injection;di</PackageTags>
<PackageTags Condition=" '$(IsAvaloniaProject)' == 'True' ">prism;mvvm;axaml;xaml;desktop;navigation;prismavalonia;dialog;linux;macos;avalonia;dependency injection;di</PackageTags>
<IS_PREVIEW Condition=" '$(IS_PREVIEW)' == '' ">false</IS_PREVIEW>
<IS_RELEASE Condition=" '$(IS_RELEASE)' == '' ">false</IS_RELEASE>
<UseWpf>$(IsWpfProject)</UseWpf>
Expand Down Expand Up @@ -83,6 +85,22 @@
<Using Include="Microsoft.UI.Xaml.Media" />
</ItemGroup>
</When>
<When Condition="$(IsAvaloniaProject)">
<PropertyGroup>
<DefineConstants>$(DefineConstants);AVALONIA</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Using Include="Avalonia" />
<Using Include="Avalonia.Controls" />
<Using Include="Avalonia.Controls.ApplicationLifetimes" />
<Using Include="Avalonia.Controls.Primitives" />
<Using Include="Avalonia.Interactivity" />
<Using Include="Avalonia.Markup.Xaml" />
<Using Include="Avalonia.Controls.Control" Alias="FrameworkElement" />
<Using Include="Avalonia.AvaloniaObject" Alias="DependencyObject" />
<Using Include="Avalonia.AvaloniaPropertyChangedEventArgs" Alias="DependencyPropertyChangedEventArgs" />
</ItemGroup>
</When>
</Choose>

<!-- Versioning -->
Expand Down
15 changes: 14 additions & 1 deletion Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,20 @@
<PackageVersion Include="Uno.UniversalImageLoader" Version="1.9.36" />
<PackageVersion Include="Microsoft.Windows.Compatibility" Version="8.0.0" />
</ItemGroup>
<!-- Tests -->
<!-- Avalonia -->
<ItemGroup Condition=" $(IsAvaloniaProject) == 'true' ">
<PackageVersion Include="Avalonia" Version="11.1.3" />
<PackageVersion Include="Avalonia.Desktop" Version="11.1.3" />
<PackageVersion Include="Avalonia.Diagnostics" Version="11.1.3" />
<PackageVersion Include="Avalonia.LinuxFramebuffer" Version="11.1.3" />
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="11.1.3" />
<PackageVersion Include="Avalonia.Themes.Simple" Version="11.1.3" />
<PackageVersion Include="Avalonia.Themes.Fluent" Version="11.1.3" />
<PackageVersion Include="Avalonia.Fonts.Inter" Version="11.1.3" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="4.7.0" />
<PackageVersion Include="System.CodeDom" Version="8.0.0" />
</ItemGroup>
<!-- Tests -->
<ItemGroup>
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
<PackageVersion Include="GitHubActionsTestLogger" Version="2.4.1" />
Expand Down
86 changes: 86 additions & 0 deletions PrismLibrary.sln
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,22 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Events", "src\Prism.E
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Uno.WinUI.Markup", "src\Uno\Prism.Uno.Markup\Prism.Uno.WinUI.Markup.csproj", "{0EA416B6-0AB6-464B-9F4D-206FFCFB262D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Avalonia", "Avalonia", "{8AE1015F-4D62-47EF-A576-2F7411EC20D5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Avalonia", "src\Avalonia\Prism.Avalonia\Prism.Avalonia.csproj", "{C505C63F-99E6-464F-8C83-1AE4239C19B1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.DryIoc.Avalonia", "src\Avalonia\Prism.DryIoc.Avalonia\Prism.DryIoc.Avalonia.csproj", "{A6B7B19C-3288-4CD2-A737-527BEB1ED807}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Avalonia.Tests", "tests\Avalonia\Prism.Avalonia.Tests\Prism.Avalonia.Tests.csproj", "{AB501F63-8E8C-4333-8A15-81BA02F3C703}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Prism.Container.Avalonia.Shared", "tests\Avalonia\Prism.Container.Avalonia.Shared\Prism.Container.Avalonia.Shared.shproj", "{6FDA7D49-DF44-4E8F-A182-0EB73DD3C452}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.DryIoc.Avalonia.Tests", "tests\Avalonia\Prism.DryIoc.Avalonia.Tests\Prism.DryIoc.Avalonia.Tests.csproj", "{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.IocContainer.Avalonia.Tests.Support", "tests\Avalonia\Prism.IocContainer.Avalonia.Tests.Support\Prism.IocContainer.Avalonia.Tests.Support.csproj", "{887E0794-798D-4127-847E-6F68D5C9B334}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Avalonia", "Avalonia", "{904D5094-55F9-4581-90AC-D6C1131F8152}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -296,6 +312,66 @@ Global
{0EA416B6-0AB6-464B-9F4D-206FFCFB262D}.Release|x64.Build.0 = Release|Any CPU
{0EA416B6-0AB6-464B-9F4D-206FFCFB262D}.Release|x86.ActiveCfg = Release|Any CPU
{0EA416B6-0AB6-464B-9F4D-206FFCFB262D}.Release|x86.Build.0 = Release|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|x64.ActiveCfg = Debug|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|x64.Build.0 = Debug|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|x86.ActiveCfg = Debug|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|x86.Build.0 = Debug|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|Any CPU.Build.0 = Release|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|x64.ActiveCfg = Release|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|x64.Build.0 = Release|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|x86.ActiveCfg = Release|Any CPU
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|x86.Build.0 = Release|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|x64.ActiveCfg = Debug|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|x64.Build.0 = Debug|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|x86.ActiveCfg = Debug|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|x86.Build.0 = Debug|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|Any CPU.Build.0 = Release|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|x64.ActiveCfg = Release|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|x64.Build.0 = Release|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|x86.ActiveCfg = Release|Any CPU
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|x86.Build.0 = Release|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|x64.ActiveCfg = Debug|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|x64.Build.0 = Debug|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|x86.ActiveCfg = Debug|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|x86.Build.0 = Debug|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|Any CPU.Build.0 = Release|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|x64.ActiveCfg = Release|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|x64.Build.0 = Release|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|x86.ActiveCfg = Release|Any CPU
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|x86.Build.0 = Release|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|x64.ActiveCfg = Debug|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|x64.Build.0 = Debug|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|x86.ActiveCfg = Debug|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|x86.Build.0 = Debug|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|Any CPU.Build.0 = Release|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|x64.ActiveCfg = Release|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|x64.Build.0 = Release|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|x86.ActiveCfg = Release|Any CPU
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|x86.Build.0 = Release|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|Any CPU.Build.0 = Debug|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|x64.ActiveCfg = Debug|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|x64.Build.0 = Debug|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|x86.ActiveCfg = Debug|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|x86.Build.0 = Debug|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|Any CPU.ActiveCfg = Release|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|Any CPU.Build.0 = Release|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|x64.ActiveCfg = Release|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|x64.Build.0 = Release|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|x86.ActiveCfg = Release|Any CPU
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -325,12 +401,22 @@ Global
{8711D306-1118-4A11-9399-EF14AA13015E} = {540CEEC1-D541-4614-BF0B-18056A83E434}
{8610485A-BE9F-4938-86D4-E9F1FA1739A0} = {F3664D7A-6FF5-4D1F-9F5F-26EE87F032D3}
{0EA416B6-0AB6-464B-9F4D-206FFCFB262D} = {8F959801-D494-4CAF-9437-90F30472E169}
{8AE1015F-4D62-47EF-A576-2F7411EC20D5} = {F3664D7A-6FF5-4D1F-9F5F-26EE87F032D3}
{C505C63F-99E6-464F-8C83-1AE4239C19B1} = {8AE1015F-4D62-47EF-A576-2F7411EC20D5}
{A6B7B19C-3288-4CD2-A737-527BEB1ED807} = {8AE1015F-4D62-47EF-A576-2F7411EC20D5}
{AB501F63-8E8C-4333-8A15-81BA02F3C703} = {904D5094-55F9-4581-90AC-D6C1131F8152}
{6FDA7D49-DF44-4E8F-A182-0EB73DD3C452} = {904D5094-55F9-4581-90AC-D6C1131F8152}
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF} = {904D5094-55F9-4581-90AC-D6C1131F8152}
{887E0794-798D-4127-847E-6F68D5C9B334} = {904D5094-55F9-4581-90AC-D6C1131F8152}
{904D5094-55F9-4581-90AC-D6C1131F8152} = {00FFDC13-7397-46F1-897E-A62A7575D28A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C7433AE2-B1A0-4C1A-887E-5CAA7AAF67A6}
EndGlobalSection
GlobalSection(SharedMSBuildProjectFiles) = preSolution
tests\Avalonia\Prism.Container.Avalonia.Shared\Prism.Container.Avalonia.Shared.projitems*{03b9c775-9582-409f-b67f-6b8a0ce0c7af}*SharedItemsImports = 5
tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{367be810-5b34-4894-be47-1c8dcc67de81}*SharedItemsImports = 5
tests\Avalonia\Prism.Container.Avalonia.Shared\Prism.Container.Avalonia.Shared.projitems*{6fda7d49-df44-4e8f-a182-0eb73dd3c452}*SharedItemsImports = 13
tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{ba05687e-2317-4a65-805b-c596f52f7203}*SharedItemsImports = 5
tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{bd42a7d6-a84d-4d27-9c28-7f6a2ec477f1}*SharedItemsImports = 13
EndGlobalSection
Expand Down
16 changes: 16 additions & 0 deletions PrismLibrary_Avalonia.slnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"solution": {
"path": "PrismLibrary.sln",
"projects": [
"src\\Avalonia\\Prism.Avalonia\\Prism.Avalonia.csproj",
"src\\Avalonia\\Prism.DryIoc.Avalonia\\Prism.DryIoc.Avalonia.csproj",
"src\\Prism.Core\\Prism.Core.csproj",
"src\\Prism.Events\\Prism.Events.csproj",
"tests\\Avalonia\\Prism.Avalonia.Tests\\Prism.Avalonia.Tests.csproj",
"tests\\Avalonia\\Prism.Container.Avalonia.Shared\\Prism.Container.Avalonia.Shared.shproj",
"tests\\Avalonia\\Prism.DryIoc.Avalonia.Tests\\Prism.DryIoc.Avalonia.Tests.csproj",
"tests\\Avalonia\\Prism.IocContainer.Avalonia.Tests.Support\\Prism.IocContainer.Avalonia.Tests.Support.csproj",
"tests\\Prism.Core.Tests\\Prism.Core.Tests.csproj"
]
}
}
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Prism

Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, Uno Platform and WinUI. Separate releases are available for each platform and those will be developed on independent timelines. Prism provides an implementation of a collection of design patterns that are helpful in writing well-structured and maintainable XAML applications, including MVVM, dependency injection, commands, EventAggregator, and others. Prism's core functionality is a shared code base supported in .NET Standard 2.0, .NET Framework 4.6 / 4.7, and .NET6.0/.NET8.0. Those things that need to be platform specific are implemented in the respective libraries for the target platform. Prism also provides great integration of these patterns with the target platform.
Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Avalonia, MAUI, Uno Platform and WinUI. Separate releases are available for each platform and those will be developed on independent timelines. Prism provides an implementation of a collection of design patterns that are helpful in writing well-structured and maintainable XAML applications, including MVVM, dependency injection, commands, EventAggregator, and others. Prism's core functionality is a shared code base supported in .NET Standard 2.0, .NET Framework 4.6 / 4.7, and .NET6.0/.NET8.0. Those things that need to be platform specific are implemented in the respective libraries for the target platform. Prism also provides great integration of these patterns with the target platform.

## Licensing

Expand All @@ -13,7 +13,7 @@ The Prism Team would first and foremost like to thank all of those developers wh
| Full Build | [![Prism CI](https://github.com/PrismLibrary/Prism/actions/workflows/ci.yml/badge.svg)](https://github.com/PrismLibrary/Prism/actions/workflows/ci.yml) |
| Prism.Core | [![build_core](https://github.com/PrismLibrary/Prism/actions/workflows/build_core.yml/badge.svg)](https://github.com/PrismLibrary/Prism/actions/workflows/build_core.yml) |
| Prism.Wpf | [![build_wpf](https://github.com/PrismLibrary/Prism/actions/workflows/build_wpf.yml/badge.svg)](https://github.com/PrismLibrary/Prism/actions/workflows/build_wpf.yml) |
| Prism.Forms | [![build_forms](https://github.com/PrismLibrary/Prism/actions/workflows/build_forms.yml/badge.svg)](https://github.com/PrismLibrary/Prism/actions/workflows/build_forms.yml) |
| Prism.Avalonia | [![build_avalonia](https://github.com/PrismLibrary/Prism/actions/workflows/build_avalonia.yml/badge.svg)](https://github.com/PrismLibrary/Prism/actions/workflows/build_avalonia.yml) |
| Prism.Uno | [![build_uno](https://github.com/PrismLibrary/Prism/actions/workflows/build_uno.yml/badge.svg)](https://github.com/PrismLibrary/Prism/actions/workflows/build_uno.yml) |
| Prism.Maui | [![build_maui](https://github.com/PrismLibrary/Prism/actions/workflows/build_maui.yml/badge.svg)](https://github.com/PrismLibrary/Prism/actions/workflows/build_maui.yml) |

Expand Down
Loading
Loading