Skip to content

Commit ea67f89

Browse files
authored
Merge pull request #3127 from DamianSuess/dev/suess/Prism.Avalonia
Prism.Avalonia Library
2 parents f2b1a3b + a61252f commit ea67f89

File tree

211 files changed

+18904
-60
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+18904
-60
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: build_avalonia
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
branches:
7+
- master
8+
paths:
9+
- .github/workflows/build_forms.yml
10+
- Directory.Build.props
11+
- Directory.Build.targets
12+
- Directory.Packages.props
13+
- xunit.runner.json
14+
- 'src/Prism.Core/**'
15+
- 'src/Prism.Events/**'
16+
- 'tests/Prism.Core.Tests/**'
17+
- 'src/Avalonia/**'
18+
- 'tests/Avalonia/**'
19+
20+
jobs:
21+
build-prism-avalonia:
22+
uses: avantipoint/workflow-templates/.github/workflows/dotnet-build.yml@v1
23+
with:
24+
name: Build Prism.Avalonia
25+
solution-path: PrismLibrary_Avalonia.slnf

.github/workflows/ci.yml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,22 @@ jobs:
8888
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
8989
codeSignCertificate: ${{ secrets.CodeSignCertificate }}
9090

91+
build-prism-avalonia:
92+
uses: avantipoint/workflow-templates/.github/workflows/dotnet-build.yml@v1
93+
with:
94+
name: Build Prism.Avalonia
95+
solution-path: PrismLibrary_Avalonia.slnf
96+
code-sign: true
97+
artifact-name: Avalonia
98+
secrets:
99+
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
100+
codeSignClientId: ${{ secrets.CodeSignClientId }}
101+
codeSignTenantId: ${{ secrets.CodeSignTenantId }}
102+
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
103+
codeSignCertificate: ${{ secrets.CodeSignCertificate }}
104+
91105
generate-consolidated-artifacts:
92-
needs: [build-prism-core, build-prism-wpf, build-prism-uno, build-prism-maui]
106+
needs: [build-prism-core, build-prism-wpf, build-prism-uno, build-prism-maui, build-prism-avalonia]
93107
runs-on: windows-latest
94108
steps:
95109
- name: Checkout
@@ -119,6 +133,12 @@ jobs:
119133
name: Maui
120134
path: artifacts\Maui
121135

136+
- name: Download Avalonia
137+
uses: actions/download-artifact@v4
138+
with:
139+
name: Avalonia
140+
path: artifacts\Avalonia
141+
122142
- name: Consolidate Artifacts
123143
run: build\consolidate-artifacts.ps1
124144
shell: powershell
@@ -147,4 +167,4 @@ jobs:
147167
name: Deploy Commercial Plus
148168
secrets:
149169
feedUrl: ${{ secrets.PRISM_NUGET_FEED }}
150-
apiKey: ${{ secrets.PRISM_NUGET_TOKEN }}
170+
apiKey: ${{ secrets.PRISM_NUGET_TOKEN }}

Directory.Build.props

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
<IsUnoProject>$(MSBuildProjectName.Contains('Uno'))</IsUnoProject>
3838
<IsFormsProject>$(MSBuildProjectName.Contains('Forms'))</IsFormsProject>
3939
<IsMauiProject>$(MSBuildProjectName.Contains('Maui'))</IsMauiProject>
40+
<IsAvaloniaProject>$(MSBuildProjectName.Contains('Avalonia'))</IsAvaloniaProject>
4041
<SignAssembly Condition=" ('$(IsCoreProject)' Or '$(IsWpfProject)') ">True</SignAssembly>
4142
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)prism.snk</AssemblyOriginatorKeyFile>
4243
<DelaySign>False</DelaySign>
@@ -49,6 +50,7 @@
4950
<PackageTags Condition=" '$(IsWpfProject)' == 'True' ">prism;mvvm;wpf;dependency injection;di</PackageTags>
5051
<PackageTags Condition=" '$(IsUnoProject)' == 'True' ">prism;mvvm;winui;uno-platform;xamarin;webassembly;android;ios;macos;dependency injection;di</PackageTags>
5152
<PackageTags Condition=" '$(IsFormsProject)' == 'True' ">prism;mvvm;uwp;android;ios;xamarin;xamarin.forms;dependency injection;di</PackageTags>
53+
<PackageTags Condition=" '$(IsAvaloniaProject)' == 'True' ">prism;mvvm;axaml;xaml;desktop;navigation;prismavalonia;dialog;linux;macos;avalonia;dependency injection;di</PackageTags>
5254
<IS_PREVIEW Condition=" '$(IS_PREVIEW)' == '' ">false</IS_PREVIEW>
5355
<IS_RELEASE Condition=" '$(IS_RELEASE)' == '' ">false</IS_RELEASE>
5456
<UseWpf>$(IsWpfProject)</UseWpf>
@@ -83,6 +85,22 @@
8385
<Using Include="Microsoft.UI.Xaml.Media" />
8486
</ItemGroup>
8587
</When>
88+
<When Condition="$(IsAvaloniaProject)">
89+
<PropertyGroup>
90+
<DefineConstants>$(DefineConstants);AVALONIA</DefineConstants>
91+
</PropertyGroup>
92+
<ItemGroup>
93+
<Using Include="Avalonia" />
94+
<Using Include="Avalonia.Controls" />
95+
<Using Include="Avalonia.Controls.ApplicationLifetimes" />
96+
<Using Include="Avalonia.Controls.Primitives" />
97+
<Using Include="Avalonia.Interactivity" />
98+
<Using Include="Avalonia.Markup.Xaml" />
99+
<Using Include="Avalonia.Controls.Control" Alias="FrameworkElement" />
100+
<Using Include="Avalonia.AvaloniaObject" Alias="DependencyObject" />
101+
<Using Include="Avalonia.AvaloniaPropertyChangedEventArgs" Alias="DependencyPropertyChangedEventArgs" />
102+
</ItemGroup>
103+
</When>
86104
</Choose>
87105

88106
<!-- Versioning -->

Directory.Packages.props

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,20 @@
5555
<PackageVersion Include="Uno.UniversalImageLoader" Version="1.9.36" />
5656
<PackageVersion Include="Microsoft.Windows.Compatibility" Version="8.0.0" />
5757
</ItemGroup>
58-
<!-- Tests -->
58+
<!-- Avalonia -->
59+
<ItemGroup Condition=" $(IsAvaloniaProject) == 'true' ">
60+
<PackageVersion Include="Avalonia" Version="11.1.3" />
61+
<PackageVersion Include="Avalonia.Desktop" Version="11.1.3" />
62+
<PackageVersion Include="Avalonia.Diagnostics" Version="11.1.3" />
63+
<PackageVersion Include="Avalonia.LinuxFramebuffer" Version="11.1.3" />
64+
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="11.1.3" />
65+
<PackageVersion Include="Avalonia.Themes.Simple" Version="11.1.3" />
66+
<PackageVersion Include="Avalonia.Themes.Fluent" Version="11.1.3" />
67+
<PackageVersion Include="Avalonia.Fonts.Inter" Version="11.1.3" />
68+
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="4.7.0" />
69+
<PackageVersion Include="System.CodeDom" Version="8.0.0" />
70+
</ItemGroup>
71+
<!-- Tests -->
5972
<ItemGroup>
6073
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
6174
<PackageVersion Include="GitHubActionsTestLogger" Version="2.4.1" />

PrismLibrary.sln

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,22 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Events", "src\Prism.E
7070
EndProject
7171
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}"
7272
EndProject
73+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Avalonia", "Avalonia", "{8AE1015F-4D62-47EF-A576-2F7411EC20D5}"
74+
EndProject
75+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Avalonia", "src\Avalonia\Prism.Avalonia\Prism.Avalonia.csproj", "{C505C63F-99E6-464F-8C83-1AE4239C19B1}"
76+
EndProject
77+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.DryIoc.Avalonia", "src\Avalonia\Prism.DryIoc.Avalonia\Prism.DryIoc.Avalonia.csproj", "{A6B7B19C-3288-4CD2-A737-527BEB1ED807}"
78+
EndProject
79+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Avalonia.Tests", "tests\Avalonia\Prism.Avalonia.Tests\Prism.Avalonia.Tests.csproj", "{AB501F63-8E8C-4333-8A15-81BA02F3C703}"
80+
EndProject
81+
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}"
82+
EndProject
83+
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}"
84+
EndProject
85+
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}"
86+
EndProject
87+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Avalonia", "Avalonia", "{904D5094-55F9-4581-90AC-D6C1131F8152}"
88+
EndProject
7389
Global
7490
GlobalSection(SolutionConfigurationPlatforms) = preSolution
7591
Debug|Any CPU = Debug|Any CPU
@@ -296,6 +312,66 @@ Global
296312
{0EA416B6-0AB6-464B-9F4D-206FFCFB262D}.Release|x64.Build.0 = Release|Any CPU
297313
{0EA416B6-0AB6-464B-9F4D-206FFCFB262D}.Release|x86.ActiveCfg = Release|Any CPU
298314
{0EA416B6-0AB6-464B-9F4D-206FFCFB262D}.Release|x86.Build.0 = Release|Any CPU
315+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
316+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
317+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|x64.ActiveCfg = Debug|Any CPU
318+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|x64.Build.0 = Debug|Any CPU
319+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|x86.ActiveCfg = Debug|Any CPU
320+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Debug|x86.Build.0 = Debug|Any CPU
321+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
322+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|Any CPU.Build.0 = Release|Any CPU
323+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|x64.ActiveCfg = Release|Any CPU
324+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|x64.Build.0 = Release|Any CPU
325+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|x86.ActiveCfg = Release|Any CPU
326+
{C505C63F-99E6-464F-8C83-1AE4239C19B1}.Release|x86.Build.0 = Release|Any CPU
327+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
328+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|Any CPU.Build.0 = Debug|Any CPU
329+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|x64.ActiveCfg = Debug|Any CPU
330+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|x64.Build.0 = Debug|Any CPU
331+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|x86.ActiveCfg = Debug|Any CPU
332+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Debug|x86.Build.0 = Debug|Any CPU
333+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|Any CPU.ActiveCfg = Release|Any CPU
334+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|Any CPU.Build.0 = Release|Any CPU
335+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|x64.ActiveCfg = Release|Any CPU
336+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|x64.Build.0 = Release|Any CPU
337+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|x86.ActiveCfg = Release|Any CPU
338+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807}.Release|x86.Build.0 = Release|Any CPU
339+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
340+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|Any CPU.Build.0 = Debug|Any CPU
341+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|x64.ActiveCfg = Debug|Any CPU
342+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|x64.Build.0 = Debug|Any CPU
343+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|x86.ActiveCfg = Debug|Any CPU
344+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Debug|x86.Build.0 = Debug|Any CPU
345+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|Any CPU.ActiveCfg = Release|Any CPU
346+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|Any CPU.Build.0 = Release|Any CPU
347+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|x64.ActiveCfg = Release|Any CPU
348+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|x64.Build.0 = Release|Any CPU
349+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|x86.ActiveCfg = Release|Any CPU
350+
{AB501F63-8E8C-4333-8A15-81BA02F3C703}.Release|x86.Build.0 = Release|Any CPU
351+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
352+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
353+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|x64.ActiveCfg = Debug|Any CPU
354+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|x64.Build.0 = Debug|Any CPU
355+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|x86.ActiveCfg = Debug|Any CPU
356+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Debug|x86.Build.0 = Debug|Any CPU
357+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
358+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|Any CPU.Build.0 = Release|Any CPU
359+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|x64.ActiveCfg = Release|Any CPU
360+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|x64.Build.0 = Release|Any CPU
361+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|x86.ActiveCfg = Release|Any CPU
362+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF}.Release|x86.Build.0 = Release|Any CPU
363+
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
364+
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|Any CPU.Build.0 = Debug|Any CPU
365+
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|x64.ActiveCfg = Debug|Any CPU
366+
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|x64.Build.0 = Debug|Any CPU
367+
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|x86.ActiveCfg = Debug|Any CPU
368+
{887E0794-798D-4127-847E-6F68D5C9B334}.Debug|x86.Build.0 = Debug|Any CPU
369+
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|Any CPU.ActiveCfg = Release|Any CPU
370+
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|Any CPU.Build.0 = Release|Any CPU
371+
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|x64.ActiveCfg = Release|Any CPU
372+
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|x64.Build.0 = Release|Any CPU
373+
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|x86.ActiveCfg = Release|Any CPU
374+
{887E0794-798D-4127-847E-6F68D5C9B334}.Release|x86.Build.0 = Release|Any CPU
299375
EndGlobalSection
300376
GlobalSection(SolutionProperties) = preSolution
301377
HideSolutionNode = FALSE
@@ -325,12 +401,22 @@ Global
325401
{8711D306-1118-4A11-9399-EF14AA13015E} = {540CEEC1-D541-4614-BF0B-18056A83E434}
326402
{8610485A-BE9F-4938-86D4-E9F1FA1739A0} = {F3664D7A-6FF5-4D1F-9F5F-26EE87F032D3}
327403
{0EA416B6-0AB6-464B-9F4D-206FFCFB262D} = {8F959801-D494-4CAF-9437-90F30472E169}
404+
{8AE1015F-4D62-47EF-A576-2F7411EC20D5} = {F3664D7A-6FF5-4D1F-9F5F-26EE87F032D3}
405+
{C505C63F-99E6-464F-8C83-1AE4239C19B1} = {8AE1015F-4D62-47EF-A576-2F7411EC20D5}
406+
{A6B7B19C-3288-4CD2-A737-527BEB1ED807} = {8AE1015F-4D62-47EF-A576-2F7411EC20D5}
407+
{AB501F63-8E8C-4333-8A15-81BA02F3C703} = {904D5094-55F9-4581-90AC-D6C1131F8152}
408+
{6FDA7D49-DF44-4E8F-A182-0EB73DD3C452} = {904D5094-55F9-4581-90AC-D6C1131F8152}
409+
{03B9C775-9582-409F-B67F-6B8A0CE0C7AF} = {904D5094-55F9-4581-90AC-D6C1131F8152}
410+
{887E0794-798D-4127-847E-6F68D5C9B334} = {904D5094-55F9-4581-90AC-D6C1131F8152}
411+
{904D5094-55F9-4581-90AC-D6C1131F8152} = {00FFDC13-7397-46F1-897E-A62A7575D28A}
328412
EndGlobalSection
329413
GlobalSection(ExtensibilityGlobals) = postSolution
330414
SolutionGuid = {C7433AE2-B1A0-4C1A-887E-5CAA7AAF67A6}
331415
EndGlobalSection
332416
GlobalSection(SharedMSBuildProjectFiles) = preSolution
417+
tests\Avalonia\Prism.Container.Avalonia.Shared\Prism.Container.Avalonia.Shared.projitems*{03b9c775-9582-409f-b67f-6b8a0ce0c7af}*SharedItemsImports = 5
333418
tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{367be810-5b34-4894-be47-1c8dcc67de81}*SharedItemsImports = 5
419+
tests\Avalonia\Prism.Container.Avalonia.Shared\Prism.Container.Avalonia.Shared.projitems*{6fda7d49-df44-4e8f-a182-0eb73dd3c452}*SharedItemsImports = 13
334420
tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{ba05687e-2317-4a65-805b-c596f52f7203}*SharedItemsImports = 5
335421
tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{bd42a7d6-a84d-4d27-9c28-7f6a2ec477f1}*SharedItemsImports = 13
336422
EndGlobalSection

PrismLibrary_Avalonia.slnf

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"solution": {
3+
"path": "PrismLibrary.sln",
4+
"projects": [
5+
"src\\Avalonia\\Prism.Avalonia\\Prism.Avalonia.csproj",
6+
"src\\Avalonia\\Prism.DryIoc.Avalonia\\Prism.DryIoc.Avalonia.csproj",
7+
"src\\Prism.Core\\Prism.Core.csproj",
8+
"src\\Prism.Events\\Prism.Events.csproj",
9+
"tests\\Avalonia\\Prism.Avalonia.Tests\\Prism.Avalonia.Tests.csproj",
10+
"tests\\Avalonia\\Prism.Container.Avalonia.Shared\\Prism.Container.Avalonia.Shared.shproj",
11+
"tests\\Avalonia\\Prism.DryIoc.Avalonia.Tests\\Prism.DryIoc.Avalonia.Tests.csproj",
12+
"tests\\Avalonia\\Prism.IocContainer.Avalonia.Tests.Support\\Prism.IocContainer.Avalonia.Tests.Support.csproj",
13+
"tests\\Prism.Core.Tests\\Prism.Core.Tests.csproj"
14+
]
15+
}
16+
}

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Prism
22

3-
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.
3+
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.
44

55
## Licensing
66

@@ -13,7 +13,7 @@ The Prism Team would first and foremost like to thank all of those developers wh
1313
| Full Build | [![Prism CI](https://github.com/PrismLibrary/Prism/actions/workflows/ci.yml/badge.svg)](https://github.com/PrismLibrary/Prism/actions/workflows/ci.yml) |
1414
| 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) |
1515
| 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) |
16-
| 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) |
16+
| 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) |
1717
| 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) |
1818
| 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) |
1919

0 commit comments

Comments
 (0)