Compare commits

..

1 Commits

Author SHA1 Message Date
Marc CHEVALDONNE b0d40697bb 🩹 test
10 months ago

@ -1,393 +1,144 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch03_DataBinding", "ch03_DataBinding", "{E9273679-4D52-465F-8C23-8096DD8C2A7B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_BindingToA2dArray_v1", "ch03_DataBinding\ex_BindingToA2dArray_v1\ex_BindingToA2dArray_v1.csproj", "{AB5CCC4D-10B3-4116-A6B3-D1F720507608}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_BindingToA2dArray_context", "ch03_DataBinding\ex_BindingToA2dArray_context\ex_BindingToA2dArray_context.csproj", "{43E82F4F-6EBA-4708-A392-1B2E8130A19E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_BindingToA2dArray_v2", "ch03_DataBinding\ex_BindingToA2dArray_v2\ex_BindingToA2dArray_v2.csproj", "{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch02_DesigningViews", "ch02_DesigningViews", "{1E07D063-F377-413B-B9A0-FB94AF14B1A9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_ShadowLabel", "ch02_DesigningViews\ex_ShadowLabel\ex_ShadowLabel.csproj", "{62F4D4C2-7C79-4090-BB4B-20F848322113}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_OutlineText", "ch02_DesigningViews\ex_OutlineText\ex_OutlineText.csproj", "{EAD02985-9DBA-459D-B12E-32A89D2C95C5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_Toolbar", "ch02_DesigningViews\ex_Toolbar\ex_Toolbar.csproj", "{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_CustomToolbar", "ch02_DesigningViews\ex_CustomToolbar\ex_CustomToolbar.csproj", "{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_CustomContentView", "ch03_DataBinding\ex_CustomContentView\ex_CustomContentView.csproj", "{5F26E535-4541-4C99-BD92-2DDB4EB65705}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_DataTemplateSelector", "ch03_DataBinding\ex_DataTemplateSelector\ex_DataTemplateSelector.csproj", "{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch04_Navigation", "ch04_Navigation", "{0E6296E1-F020-4A0D-9F98-4284F38FD68B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_ShellRoutes", "ch04_Navigation\ex_ShellRoutes\ex_ShellRoutes.csproj", "{1559C59B-727D-402D-A140-30B111DBF224}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_CustomThemes", "ch02_DesigningViews\ex_CustomThemes\ex_CustomThemes.csproj", "{E1F1F0CA-6E77-414E-B6D0-3302D850121C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch06_Others", "ch06_Others", "{CD52E1B3-6246-4940-88A1-1313E1273839}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_Preferences", "ch06_Others\ex_Preferences\ex_Preferences.csproj", "{1D959883-1D6E-4E29-A575-69173C9BBC97}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_Localization", "ch06_Others\ex_Localization\ex_Localization.csproj", "{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_Localization2", "ch06_Others\ex_Localization2\ex_Localization2.csproj", "{17CBE4C6-9579-4B76-9520-F902C932C535}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_Localization3", "ch06_Others\ex_Localization3\ex_Localization3.csproj", "{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_ResponsivePage", "ch02_DesigningViews\ex_ResponsivePage\ex_ResponsivePage.csproj", "{83D42923-CEFB-48EE-986B-95D584386837}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_AddingFonts", "ch02_DesigningViews\ex_AddingFonts\ex_AddingFonts.csproj", "{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_GlyphsFont", "ch02_DesigningViews\ex_GlyphsFont\ex_GlyphsFont.csproj", "{F417F2C0-EDA9-4B7A-B4FC-00764091B750}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_ResourceDictionary", "ch02_DesigningViews\ex_ResourceDictionary\ex_ResourceDictionary.csproj", "{A9C198AC-8002-41C9-A110-AC0C717A20EB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_ResourcesLib", "ch02_DesigningViews\ex_ResourcesLib\ex_ResourcesLib.csproj", "{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_MediaElement", "ch02_DesigningViews\ex_MediaElement\ex_MediaElement.csproj", "{1286BBC0-749C-4836-847E-D37E356B7969}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_CurvedLabel", "ch02_DesigningViews\ex_CurvedLabel\ex_CurvedLabel.csproj", "{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch08_HotStuff", "ch08_HotStuff", "{FA4DCCEE-4ED5-D453-433B-7137893A2371}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DragNDrop", "ch08_HotStuff\DragNDrop\DragNDrop.csproj", "{3A5F557E-1F5F-4864-80C5-76A8D10E3344}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|x64.ActiveCfg = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|x64.Build.0 = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|x86.ActiveCfg = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|x86.Build.0 = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Release|Any CPU.Build.0 = Release|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Release|x64.ActiveCfg = Release|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Release|x64.Build.0 = Release|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Release|x86.ActiveCfg = Release|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Release|x86.Build.0 = Release|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Debug|x64.ActiveCfg = Debug|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Debug|x64.Build.0 = Debug|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Debug|x86.ActiveCfg = Debug|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Debug|x86.Build.0 = Debug|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Release|Any CPU.Build.0 = Release|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Release|x64.ActiveCfg = Release|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Release|x64.Build.0 = Release|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Release|x86.ActiveCfg = Release|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Release|x86.Build.0 = Release|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|x64.ActiveCfg = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|x64.Build.0 = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|x86.ActiveCfg = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|x86.Build.0 = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Release|Any CPU.Build.0 = Release|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Release|x64.ActiveCfg = Release|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Release|x64.Build.0 = Release|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Release|x86.ActiveCfg = Release|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Release|x86.Build.0 = Release|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|x64.ActiveCfg = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|x64.Build.0 = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|x86.ActiveCfg = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|x86.Build.0 = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Release|Any CPU.Build.0 = Release|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Release|x64.ActiveCfg = Release|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Release|x64.Build.0 = Release|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Release|x86.ActiveCfg = Release|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Release|x86.Build.0 = Release|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|x64.ActiveCfg = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|x64.Build.0 = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|x86.ActiveCfg = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|x86.Build.0 = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Release|Any CPU.Build.0 = Release|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Release|x64.ActiveCfg = Release|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Release|x64.Build.0 = Release|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Release|x86.ActiveCfg = Release|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Release|x86.Build.0 = Release|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|x64.ActiveCfg = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|x64.Build.0 = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|x86.ActiveCfg = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|x86.Build.0 = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Release|Any CPU.Build.0 = Release|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Release|x64.ActiveCfg = Release|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Release|x64.Build.0 = Release|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Release|x86.ActiveCfg = Release|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Release|x86.Build.0 = Release|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|x64.ActiveCfg = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|x64.Build.0 = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|x86.ActiveCfg = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|x86.Build.0 = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Release|Any CPU.Build.0 = Release|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Release|x64.ActiveCfg = Release|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Release|x64.Build.0 = Release|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Release|x86.ActiveCfg = Release|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Release|x86.Build.0 = Release|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|x64.ActiveCfg = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|x64.Build.0 = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|x86.ActiveCfg = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|x86.Build.0 = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Release|Any CPU.Build.0 = Release|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Release|x64.ActiveCfg = Release|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Release|x64.Build.0 = Release|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Release|x86.ActiveCfg = Release|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Release|x86.Build.0 = Release|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|x64.ActiveCfg = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|x64.Build.0 = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|x86.ActiveCfg = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|x86.Build.0 = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Release|Any CPU.Build.0 = Release|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Release|x64.ActiveCfg = Release|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Release|x64.Build.0 = Release|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Release|x86.ActiveCfg = Release|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Release|x86.Build.0 = Release|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|x64.ActiveCfg = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|x64.Build.0 = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|x86.ActiveCfg = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|x86.Build.0 = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Release|Any CPU.Build.0 = Release|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Release|x64.ActiveCfg = Release|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Release|x64.Build.0 = Release|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Release|x86.ActiveCfg = Release|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Release|x86.Build.0 = Release|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|x64.ActiveCfg = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|x64.Build.0 = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|x86.ActiveCfg = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|x86.Build.0 = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Release|Any CPU.Build.0 = Release|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Release|x64.ActiveCfg = Release|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Release|x64.Build.0 = Release|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Release|x86.ActiveCfg = Release|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Release|x86.Build.0 = Release|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|x64.ActiveCfg = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|x64.Build.0 = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|x86.ActiveCfg = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|x86.Build.0 = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Release|Any CPU.Build.0 = Release|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Release|x64.ActiveCfg = Release|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Release|x64.Build.0 = Release|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Release|x86.ActiveCfg = Release|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Release|x86.Build.0 = Release|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|x64.ActiveCfg = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|x64.Build.0 = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|x86.ActiveCfg = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|x86.Build.0 = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Release|Any CPU.Build.0 = Release|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Release|x64.ActiveCfg = Release|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Release|x64.Build.0 = Release|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Release|x86.ActiveCfg = Release|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Release|x86.Build.0 = Release|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|Any CPU.Build.0 = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|x64.ActiveCfg = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|x64.Build.0 = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|x86.ActiveCfg = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|x86.Build.0 = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Release|Any CPU.ActiveCfg = Release|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Release|Any CPU.Build.0 = Release|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Release|x64.ActiveCfg = Release|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Release|x64.Build.0 = Release|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Release|x86.ActiveCfg = Release|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Release|x86.Build.0 = Release|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|Any CPU.Build.0 = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|x64.ActiveCfg = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|x64.Build.0 = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|x86.ActiveCfg = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|x86.Build.0 = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Release|Any CPU.ActiveCfg = Release|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Release|Any CPU.Build.0 = Release|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Release|x64.ActiveCfg = Release|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Release|x64.Build.0 = Release|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Release|x86.ActiveCfg = Release|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Release|x86.Build.0 = Release|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|Any CPU.Build.0 = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|x64.ActiveCfg = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|x64.Build.0 = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|x86.ActiveCfg = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|x86.Build.0 = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Release|Any CPU.ActiveCfg = Release|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Release|Any CPU.Build.0 = Release|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Release|x64.ActiveCfg = Release|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Release|x64.Build.0 = Release|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Release|x86.ActiveCfg = Release|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Release|x86.Build.0 = Release|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Debug|x64.ActiveCfg = Debug|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Debug|x64.Build.0 = Debug|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Debug|x86.ActiveCfg = Debug|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Debug|x86.Build.0 = Debug|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Release|Any CPU.Build.0 = Release|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Release|x64.ActiveCfg = Release|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Release|x64.Build.0 = Release|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Release|x86.ActiveCfg = Release|Any CPU
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0}.Release|x86.Build.0 = Release|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Debug|x64.ActiveCfg = Debug|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Debug|x64.Build.0 = Debug|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Debug|x86.ActiveCfg = Debug|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Debug|x86.Build.0 = Debug|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Release|Any CPU.Build.0 = Release|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Release|x64.ActiveCfg = Release|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Release|x64.Build.0 = Release|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Release|x86.ActiveCfg = Release|Any CPU
{F417F2C0-EDA9-4B7A-B4FC-00764091B750}.Release|x86.Build.0 = Release|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Debug|x64.ActiveCfg = Debug|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Debug|x64.Build.0 = Debug|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Debug|x86.ActiveCfg = Debug|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Debug|x86.Build.0 = Debug|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Release|Any CPU.Build.0 = Release|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Release|x64.ActiveCfg = Release|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Release|x64.Build.0 = Release|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Release|x86.ActiveCfg = Release|Any CPU
{A9C198AC-8002-41C9-A110-AC0C717A20EB}.Release|x86.Build.0 = Release|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Debug|x64.ActiveCfg = Debug|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Debug|x64.Build.0 = Debug|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Debug|x86.ActiveCfg = Debug|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Debug|x86.Build.0 = Debug|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Release|Any CPU.Build.0 = Release|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Release|x64.ActiveCfg = Release|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Release|x64.Build.0 = Release|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Release|x86.ActiveCfg = Release|Any CPU
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F}.Release|x86.Build.0 = Release|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Debug|x64.ActiveCfg = Debug|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Debug|x64.Build.0 = Debug|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Debug|x86.ActiveCfg = Debug|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Debug|x86.Build.0 = Debug|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Release|Any CPU.Build.0 = Release|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Release|x64.ActiveCfg = Release|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Release|x64.Build.0 = Release|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Release|x86.ActiveCfg = Release|Any CPU
{1286BBC0-749C-4836-847E-D37E356B7969}.Release|x86.Build.0 = Release|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Debug|x64.ActiveCfg = Debug|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Debug|x64.Build.0 = Debug|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Debug|x86.ActiveCfg = Debug|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Debug|x86.Build.0 = Debug|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Release|Any CPU.Build.0 = Release|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Release|x64.ActiveCfg = Release|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Release|x64.Build.0 = Release|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Release|x86.ActiveCfg = Release|Any CPU
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6}.Release|x86.Build.0 = Release|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Debug|x64.ActiveCfg = Debug|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Debug|x64.Build.0 = Debug|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Debug|x86.ActiveCfg = Debug|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Debug|x86.Build.0 = Debug|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Release|Any CPU.Build.0 = Release|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Release|x64.ActiveCfg = Release|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Release|x64.Build.0 = Release|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Release|x86.ActiveCfg = Release|Any CPU
{3A5F557E-1F5F-4864-80C5-76A8D10E3344}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{AB5CCC4D-10B3-4116-A6B3-D1F720507608} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{43E82F4F-6EBA-4708-A392-1B2E8130A19E} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{62F4D4C2-7C79-4090-BB4B-20F848322113} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{EAD02985-9DBA-459D-B12E-32A89D2C95C5} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{5F26E535-4541-4C99-BD92-2DDB4EB65705} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{1559C59B-727D-402D-A140-30B111DBF224} = {0E6296E1-F020-4A0D-9F98-4284F38FD68B}
{E1F1F0CA-6E77-414E-B6D0-3302D850121C} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{1D959883-1D6E-4E29-A575-69173C9BBC97} = {CD52E1B3-6246-4940-88A1-1313E1273839}
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE} = {CD52E1B3-6246-4940-88A1-1313E1273839}
{17CBE4C6-9579-4B76-9520-F902C932C535} = {CD52E1B3-6246-4940-88A1-1313E1273839}
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457} = {CD52E1B3-6246-4940-88A1-1313E1273839}
{83D42923-CEFB-48EE-986B-95D584386837} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{A9F7103F-9AAD-4A1F-9174-8568FEB3C1F0} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{F417F2C0-EDA9-4B7A-B4FC-00764091B750} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{A9C198AC-8002-41C9-A110-AC0C717A20EB} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{8A93902C-A8D6-4FDC-82ED-0E1C8815E46F} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{1286BBC0-749C-4836-847E-D37E356B7969} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{5B627D4F-EB82-4E98-8197-AEBBD17F92D6} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{3A5F557E-1F5F-4864-80C5-76A8D10E3344} = {FA4DCCEE-4ED5-D453-433B-7137893A2371}
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch03_DataBinding", "ch03_DataBinding", "{E9273679-4D52-465F-8C23-8096DD8C2A7B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_BindingToA2dArray_v1", "ch03_DataBinding\ex_BindingToA2dArray_v1\ex_BindingToA2dArray_v1.csproj", "{AB5CCC4D-10B3-4116-A6B3-D1F720507608}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_BindingToA2dArray_context", "ch03_DataBinding\ex_BindingToA2dArray_context\ex_BindingToA2dArray_context.csproj", "{43E82F4F-6EBA-4708-A392-1B2E8130A19E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_BindingToA2dArray_v2", "ch03_DataBinding\ex_BindingToA2dArray_v2\ex_BindingToA2dArray_v2.csproj", "{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch02_DesigningViews", "ch02_DesigningViews", "{1E07D063-F377-413B-B9A0-FB94AF14B1A9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_ShadowLabel", "ch02_DesigningViews\ex_ShadowLabel\ex_ShadowLabel.csproj", "{62F4D4C2-7C79-4090-BB4B-20F848322113}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_OutlineText", "ch02_DesigningViews\ex_OutlineText\ex_OutlineText.csproj", "{EAD02985-9DBA-459D-B12E-32A89D2C95C5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_Toolbar", "ch02_DesigningViews\ex_Toolbar\ex_Toolbar.csproj", "{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_CustomToolbar", "ch02_DesigningViews\ex_CustomToolbar\ex_CustomToolbar.csproj", "{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_CustomContentView", "ch03_DataBinding\ex_CustomContentView\ex_CustomContentView.csproj", "{5F26E535-4541-4C99-BD92-2DDB4EB65705}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_DataTemplateSelector", "ch03_DataBinding\ex_DataTemplateSelector\ex_DataTemplateSelector.csproj", "{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch04_Navigation", "ch04_Navigation", "{0E6296E1-F020-4A0D-9F98-4284F38FD68B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_ShellRoutes", "ch04_Navigation\ex_ShellRoutes\ex_ShellRoutes.csproj", "{1559C59B-727D-402D-A140-30B111DBF224}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_CustomThemes", "ch02_DesigningViews\ex_CustomThemes\ex_CustomThemes.csproj", "{E1F1F0CA-6E77-414E-B6D0-3302D850121C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch06_Others", "ch06_Others", "{CD52E1B3-6246-4940-88A1-1313E1273839}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_Preferences", "ch06_Others\ex_Preferences\ex_Preferences.csproj", "{1D959883-1D6E-4E29-A575-69173C9BBC97}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_Localization", "ch06_Others\ex_Localization\ex_Localization.csproj", "{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_Localization2", "ch06_Others\ex_Localization2\ex_Localization2.csproj", "{17CBE4C6-9579-4B76-9520-F902C932C535}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_Localization3", "ch06_Others\ex_Localization3\ex_Localization3.csproj", "{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_ResponsivePage", "ch02_DesigningViews\ex_ResponsivePage\ex_ResponsivePage.csproj", "{83D42923-CEFB-48EE-986B-95D584386837}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB5CCC4D-10B3-4116-A6B3-D1F720507608}.Release|Any CPU.Build.0 = Release|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{43E82F4F-6EBA-4708-A392-1B2E8130A19E}.Release|Any CPU.Build.0 = Release|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4}.Release|Any CPU.Build.0 = Release|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62F4D4C2-7C79-4090-BB4B-20F848322113}.Release|Any CPU.Build.0 = Release|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EAD02985-9DBA-459D-B12E-32A89D2C95C5}.Release|Any CPU.Build.0 = Release|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C}.Release|Any CPU.Build.0 = Release|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C}.Release|Any CPU.Build.0 = Release|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F26E535-4541-4C99-BD92-2DDB4EB65705}.Release|Any CPU.Build.0 = Release|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6}.Release|Any CPU.Build.0 = Release|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1559C59B-727D-402D-A140-30B111DBF224}.Release|Any CPU.Build.0 = Release|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1F1F0CA-6E77-414E-B6D0-3302D850121C}.Release|Any CPU.Build.0 = Release|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D959883-1D6E-4E29-A575-69173C9BBC97}.Release|Any CPU.Build.0 = Release|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE}.Release|Any CPU.Build.0 = Release|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Debug|Any CPU.Build.0 = Debug|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Release|Any CPU.ActiveCfg = Release|Any CPU
{17CBE4C6-9579-4B76-9520-F902C932C535}.Release|Any CPU.Build.0 = Release|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Debug|Any CPU.Build.0 = Debug|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Release|Any CPU.ActiveCfg = Release|Any CPU
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457}.Release|Any CPU.Build.0 = Release|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Debug|Any CPU.Build.0 = Debug|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Release|Any CPU.ActiveCfg = Release|Any CPU
{83D42923-CEFB-48EE-986B-95D584386837}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{AB5CCC4D-10B3-4116-A6B3-D1F720507608} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{43E82F4F-6EBA-4708-A392-1B2E8130A19E} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{C93C6EF6-C535-44C0-B5BF-0DD4988F3FA4} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{62F4D4C2-7C79-4090-BB4B-20F848322113} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{EAD02985-9DBA-459D-B12E-32A89D2C95C5} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{0D77C4EE-DD5C-4DCB-8FCB-F3548BDD398C} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{5E1D0DEE-CD68-4AAD-9597-9BFF30C8214C} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{5F26E535-4541-4C99-BD92-2DDB4EB65705} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{CE13BDA5-D5E5-42A2-BF2B-17942919E7E6} = {E9273679-4D52-465F-8C23-8096DD8C2A7B}
{1559C59B-727D-402D-A140-30B111DBF224} = {0E6296E1-F020-4A0D-9F98-4284F38FD68B}
{E1F1F0CA-6E77-414E-B6D0-3302D850121C} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
{1D959883-1D6E-4E29-A575-69173C9BBC97} = {CD52E1B3-6246-4940-88A1-1313E1273839}
{9F174F30-18D0-4B6B-A8E0-A4D0EB12FBEE} = {CD52E1B3-6246-4940-88A1-1313E1273839}
{17CBE4C6-9579-4B76-9520-F902C932C535} = {CD52E1B3-6246-4940-88A1-1313E1273839}
{94DB81BA-1FCB-4E65-B1AD-BA68B445C457} = {CD52E1B3-6246-4940-88A1-1313E1273839}
{83D42923-CEFB-48EE-986B-95D584386837} = {1E07D063-F377-413B-B9A0-FB94AF14B1A9}
EndGlobalSection
EndGlobal

@ -1,14 +0,0 @@
<?xml version = "1.0" encoding = "UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ex_AddingFonts"
x:Class="ex_AddingFonts.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/Colors.xaml" />
<ResourceDictionary Source="Resources/Styles/Styles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>

@ -1,14 +0,0 @@
namespace ex_AddingFonts;
public partial class App : Application
{
public App()
{
InitializeComponent();
}
protected override Window CreateWindow(IActivationState? activationState)
{
return new Window(new AppShell());
}
}

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Shell
x:Class="ex_AddingFonts.AppShell"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ex_AddingFonts"
Shell.FlyoutBehavior="Flyout"
Title="ex_AddingFonts">
<ShellContent
Title="Home"
ContentTemplate="{DataTemplate local:MainPage}"
Route="MainPage" />
</Shell>

@ -1,9 +0,0 @@
namespace ex_AddingFonts;
public partial class AppShell : Shell
{
public AppShell()
{
InitializeComponent();
}
}

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ex_AddingFonts.MainPage">
<ContentPage.Resources>
<Style TargetType="Label">
<Setter Property="FontSize" Value="Title"/>
</Style>
</ContentPage.Resources>
<VerticalStackLayout
Padding="30,0"
Spacing="25">
<Label Text="default font"/>
<Label Text="Luminari"
FontFamily="Luminari"/>
<Label Text="SF-Pro"
FontFamily="SF-Pro"/>
<Label Text="SF-Pro"
FontFamily="SFPro"
FontAttributes="Italic"/>
<Label Text="SF-Pro"
FontFamily="SFPro"
FontAttributes="Bold"/>
<Label Text="SF-Pro"
FontFamily="SFPro"
FontAttributes="Bold,Italic"/>
</VerticalStackLayout>
</ContentPage>

@ -1,10 +0,0 @@
namespace ex_AddingFonts;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
}

@ -1,29 +0,0 @@
using Microsoft.Extensions.Logging;
namespace ex_AddingFonts;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
fonts.AddFont("Luminari.ttf", "Luminari");
fonts.AddFont("SF-Pro.ttf", "SFPro");
fonts.AddFont("SF-Pro-Regular.ttf", "SFPro");
fonts.AddFont("SF-Pro-Bold.ttf", "SFPro");
fonts.AddFont("SF-Pro-Italic.ttf", "SFPro");
});
#if DEBUG
builder.Logging.AddDebug();
#endif
return builder.Build();
}
}

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true"></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>

@ -1,10 +0,0 @@
using Android.App;
using Android.Content.PM;
using Android.OS;
namespace ex_AddingFonts;
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, LaunchMode = LaunchMode.SingleTop, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
public class MainActivity : MauiAppCompatActivity
{
}

@ -1,15 +0,0 @@
using Android.App;
using Android.Runtime;
namespace ex_AddingFonts;
[Application]
public class MainApplication : MauiApplication
{
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
: base(handle, ownership)
{
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#512BD4</color>
<color name="colorPrimaryDark">#2B0B98</color>
<color name="colorAccent">#2B0B98</color>
</resources>

@ -1,9 +0,0 @@
using Foundation;
namespace ex_AddingFonts;
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<!-- See https://aka.ms/maui-publish-app-store#add-entitlements for more information about adding entitlements.-->
<dict>
<!-- App Sandbox must be enabled to distribute a MacCatalyst app through the Mac App Store. -->
<key>com.apple.security.app-sandbox</key>
<true/>
<!-- When App Sandbox is enabled, this value is required to open outgoing network connections. -->
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- The Mac App Store requires you specify if the app uses encryption. -->
<!-- Please consult https://developer.apple.com/documentation/bundleresources/information_property_list/itsappusesnonexemptencryption -->
<!-- <key>ITSAppUsesNonExemptEncryption</key> -->
<!-- Please indicate <true/> or <false/> here. -->
<!-- Specify the category for your app here. -->
<!-- Please consult https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype -->
<!-- <key>LSApplicationCategoryType</key> -->
<!-- <string>public.app-category.YOUR-CATEGORY-HERE</string> -->
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

@ -1,15 +0,0 @@
using ObjCRuntime;
using UIKit;
namespace ex_AddingFonts;
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, typeof(AppDelegate));
}
}

@ -1,16 +0,0 @@
using System;
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
namespace ex_AddingFonts;
class Program : MauiApplication
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
static void Main(string[] args)
{
var app = new Program();
app.Run(args);
}
}

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="maui-application-id-placeholder" version="0.0.0" api-version="9" xmlns="http://tizen.org/ns/packages">
<profile name="common" />
<ui-application appid="maui-application-id-placeholder" exec="ex_AddingFonts.dll" multiple="false" nodisplay="false" taskmanage="true" type="dotnet" launch_mode="single">
<label>maui-application-title-placeholder</label>
<icon>maui-appicon-placeholder</icon>
<metadata key="http://tizen.org/metadata/prefer_dotnet_aot" value="true" />
</ui-application>
<shortcut-list />
<privileges>
<privilege>http://tizen.org/privilege/internet</privilege>
</privileges>
<dependencies />
<provides-appdefined-privileges />
</manifest>

@ -1,8 +0,0 @@
<maui:MauiWinUIApplication
x:Class="ex_AddingFonts.WinUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:maui="using:Microsoft.Maui"
xmlns:local="using:ex_AddingFonts.WinUI">
</maui:MauiWinUIApplication>

@ -1,24 +0,0 @@
using Microsoft.UI.Xaml;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace ex_AddingFonts.WinUI;
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// </summary>
public partial class App : MauiWinUIApplication
{
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
public App()
{
this.InitializeComponent();
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
<Identity Name="maui-package-name-placeholder" Publisher="CN=User Name" Version="0.0.0.0" />
<mp:PhoneIdentity PhoneProductId="EC97B495-54CA-47E1-B091-109D92FEC44C" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
<Properties>
<DisplayName>$placeholder$</DisplayName>
<PublisherDisplayName>User Name</PublisherDisplayName>
<Logo>$placeholder$.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="$placeholder$"
Description="$placeholder$"
Square150x150Logo="$placeholder$.png"
Square44x44Logo="$placeholder$.png"
BackgroundColor="transparent">
<uap:DefaultTile Square71x71Logo="$placeholder$.png" Wide310x150Logo="$placeholder$.png" Square310x310Logo="$placeholder$.png" />
<uap:SplashScreen Image="$placeholder$.png" />
</uap:VisualElements>
</Application>
</Applications>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="ex_AddingFonts.WinUI.app"/>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<!-- The combination of below two tags have the following effect:
1) Per-Monitor for >= Windows 10 Anniversary Update
2) System < Windows 10 Anniversary Update
-->
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

@ -1,9 +0,0 @@
using Foundation;
namespace ex_AddingFonts;
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

@ -1,15 +0,0 @@
using ObjCRuntime;
using UIKit;
namespace ex_AddingFonts;
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, typeof(AppDelegate));
}
}

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This is the minimum required version of the Apple Privacy Manifest for .NET MAUI apps.
The contents below are needed because of APIs that are used in the .NET framework and .NET MAUI SDK.
You are responsible for adding extra entries as needed for your application.
More information: https://aka.ms/maui-privacy-manifest
-->
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<!--
The entry below is only needed when you're using the Preferences API in your app.
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict> -->
</array>
</dict>
</plist>

@ -1,8 +0,0 @@
{
"profiles": {
"Windows Machine": {
"commandName": "Project",
"nativeDebugging": false
}
}
}

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg">
<rect x="0" y="0" width="456" height="456" fill="#512BD4" />
</svg>

Before

Width:  |  Height:  |  Size: 231 B

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<path d="m 105.50037,281.60863 c -2.70293,0 -5.00091,-0.90042 -6.893127,-2.70209 -1.892214,-1.84778 -2.837901,-4.04181 -2.837901,-6.58209 0,-2.58722 0.945687,-4.80389 2.837901,-6.65167 1.892217,-1.84778 4.190197,-2.77167 6.893127,-2.77167 2.74819,0 5.06798,0.92389 6.96019,2.77167 1.93749,1.84778 2.90581,4.06445 2.90581,6.65167 0,2.54028 -0.96832,4.73431 -2.90581,6.58209 -1.89221,1.80167 -4.212,2.70209 -6.96019,2.70209 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 213.56111,280.08446 H 195.99044 L 149.69953,207.0544 c -1.17121,-1.84778 -2.14037,-3.76515 -2.90581,-5.75126 h -0.40578 c 0.36051,2.12528 0.54076,6.67515 0.54076,13.6496 v 65.13172 h -15.54349 v -99.36009 h 18.71925 l 44.7374,71.29798 c 1.89222,2.95695 3.1087,4.98917 3.64945,6.09751 h 0.26996 c -0.45021,-2.6325 -0.67573,-7.09015 -0.67573,-13.37293 v -64.02256 h 15.47557 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="m 289.25134,280.08446 h -54.40052 v -99.36009 h 52.23835 v 13.99669 h -36.15411 v 28.13085 h 33.31621 v 13.9271 h -33.31621 v 29.37835 h 38.31628 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 366.56466,194.72106 H 338.7222 v 85.3634 h -16.08423 v -85.3634 h -27.77455 v -13.99669 h 71.70124 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@ -1,15 +0,0 @@
Any raw assets you want to be deployed with your application can be placed in
this directory (and child directories). Deployment of the asset to your application
is automatically handled by the following `MauiAsset` Build Action within your `.csproj`.
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
These files will be deployed with your package and will be accessible using Essentials:
async Task LoadMauiAsset()
{
using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
using var reader = new StreamReader(stream);
var contents = reader.ReadToEnd();
}

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<path d="m 105.50037,281.60863 c -2.70293,0 -5.00091,-0.90042 -6.893127,-2.70209 -1.892214,-1.84778 -2.837901,-4.04181 -2.837901,-6.58209 0,-2.58722 0.945687,-4.80389 2.837901,-6.65167 1.892217,-1.84778 4.190197,-2.77167 6.893127,-2.77167 2.74819,0 5.06798,0.92389 6.96019,2.77167 1.93749,1.84778 2.90581,4.06445 2.90581,6.65167 0,2.54028 -0.96832,4.73431 -2.90581,6.58209 -1.89221,1.80167 -4.212,2.70209 -6.96019,2.70209 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 213.56111,280.08446 H 195.99044 L 149.69953,207.0544 c -1.17121,-1.84778 -2.14037,-3.76515 -2.90581,-5.75126 h -0.40578 c 0.36051,2.12528 0.54076,6.67515 0.54076,13.6496 v 65.13172 h -15.54349 v -99.36009 h 18.71925 l 44.7374,71.29798 c 1.89222,2.95695 3.1087,4.98917 3.64945,6.09751 h 0.26996 c -0.45021,-2.6325 -0.67573,-7.09015 -0.67573,-13.37293 v -64.02256 h 15.47557 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="m 289.25134,280.08446 h -54.40052 v -99.36009 h 52.23835 v 13.99669 h -36.15411 v 28.13085 h 33.31621 v 13.9271 h -33.31621 v 29.37835 h 38.31628 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 366.56466,194.72106 H 338.7222 v 85.3634 h -16.08423 v -85.3634 h -27.77455 v -13.99669 h 71.70124 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xaml-comp compile="true" ?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<!-- Note: For Android please see also Platforms\Android\Resources\values\colors.xml -->
<Color x:Key="Primary">#512BD4</Color>
<Color x:Key="PrimaryDark">#ac99ea</Color>
<Color x:Key="PrimaryDarkText">#242424</Color>
<Color x:Key="Secondary">#DFD8F7</Color>
<Color x:Key="SecondaryDarkText">#9880e5</Color>
<Color x:Key="Tertiary">#2B0B98</Color>
<Color x:Key="White">White</Color>
<Color x:Key="Black">Black</Color>
<Color x:Key="Magenta">#D600AA</Color>
<Color x:Key="MidnightBlue">#190649</Color>
<Color x:Key="OffBlack">#1f1f1f</Color>
<Color x:Key="Gray100">#E1E1E1</Color>
<Color x:Key="Gray200">#C8C8C8</Color>
<Color x:Key="Gray300">#ACACAC</Color>
<Color x:Key="Gray400">#919191</Color>
<Color x:Key="Gray500">#6E6E6E</Color>
<Color x:Key="Gray600">#404040</Color>
<Color x:Key="Gray900">#212121</Color>
<Color x:Key="Gray950">#141414</Color>
<SolidColorBrush x:Key="PrimaryBrush" Color="{StaticResource Primary}"/>
<SolidColorBrush x:Key="SecondaryBrush" Color="{StaticResource Secondary}"/>
<SolidColorBrush x:Key="TertiaryBrush" Color="{StaticResource Tertiary}"/>
<SolidColorBrush x:Key="WhiteBrush" Color="{StaticResource White}"/>
<SolidColorBrush x:Key="BlackBrush" Color="{StaticResource Black}"/>
<SolidColorBrush x:Key="Gray100Brush" Color="{StaticResource Gray100}"/>
<SolidColorBrush x:Key="Gray200Brush" Color="{StaticResource Gray200}"/>
<SolidColorBrush x:Key="Gray300Brush" Color="{StaticResource Gray300}"/>
<SolidColorBrush x:Key="Gray400Brush" Color="{StaticResource Gray400}"/>
<SolidColorBrush x:Key="Gray500Brush" Color="{StaticResource Gray500}"/>
<SolidColorBrush x:Key="Gray600Brush" Color="{StaticResource Gray600}"/>
<SolidColorBrush x:Key="Gray900Brush" Color="{StaticResource Gray900}"/>
<SolidColorBrush x:Key="Gray950Brush" Color="{StaticResource Gray950}"/>
</ResourceDictionary>

@ -1,451 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xaml-comp compile="true" ?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<Style TargetType="ActivityIndicator">
<Setter Property="Color" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
</Style>
<Style TargetType="IndicatorView">
<Setter Property="IndicatorColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}"/>
<Setter Property="SelectedIndicatorColor" Value="{AppThemeBinding Light={StaticResource Gray950}, Dark={StaticResource Gray100}}"/>
</Style>
<Style TargetType="Border">
<Setter Property="Stroke" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
<Setter Property="StrokeShape" Value="Rectangle"/>
<Setter Property="StrokeThickness" Value="1"/>
</Style>
<Style TargetType="BoxView">
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource Gray950}, Dark={StaticResource Gray200}}" />
</Style>
<Style TargetType="Button">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource PrimaryDarkText}}" />
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource PrimaryDark}}" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="BorderWidth" Value="0"/>
<Setter Property="CornerRadius" Value="8"/>
<Setter Property="Padding" Value="14,10"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray950}, Dark={StaticResource Gray200}}" />
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PointerOver" />
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="CheckBox">
<Setter Property="Color" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="Color" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="DatePicker">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Editor">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14" />
<Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Entry">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14" />
<Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Frame">
<Setter Property="HasShadow" Value="False" />
<Setter Property="BorderColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray950}}" />
<Setter Property="CornerRadius" Value="8" />
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
</Style>
<Style TargetType="ImageButton">
<Setter Property="Opacity" Value="1" />
<Setter Property="BorderColor" Value="Transparent"/>
<Setter Property="BorderWidth" Value="0"/>
<Setter Property="CornerRadius" Value="0"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="Opacity" Value="0.5" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PointerOver" />
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Label">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular" />
<Setter Property="FontSize" Value="14" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Span">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
</Style>
<Style TargetType="Label" x:Key="Headline">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource MidnightBlue}, Dark={StaticResource White}}" />
<Setter Property="FontSize" Value="32" />
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style TargetType="Label" x:Key="SubHeadline">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource MidnightBlue}, Dark={StaticResource White}}" />
<Setter Property="FontSize" Value="24" />
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style TargetType="ListView">
<Setter Property="SeparatorColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
<Setter Property="RefreshControlColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
</Style>
<Style TargetType="Picker">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="TitleColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
<Setter Property="TitleColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="ProgressBar">
<Setter Property="ProgressColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="ProgressColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="RadioButton">
<Setter Property="BackgroundColor" Value="Transparent"/>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="RefreshView">
<Setter Property="RefreshColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
</Style>
<Style TargetType="SearchBar">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="PlaceholderColor" Value="{StaticResource Gray500}" />
<Setter Property="CancelButtonColor" Value="{StaticResource Gray500}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular" />
<Setter Property="FontSize" Value="14" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
<Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="SearchHandler">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="PlaceholderColor" Value="{StaticResource Gray500}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular" />
<Setter Property="FontSize" Value="14" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
<Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Shadow">
<Setter Property="Radius" Value="15" />
<Setter Property="Opacity" Value="0.5" />
<Setter Property="Brush" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource White}}" />
<Setter Property="Offset" Value="10,10" />
</Style>
<Style TargetType="Slider">
<Setter Property="MinimumTrackColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="MaximumTrackColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray600}}" />
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="MinimumTrackColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}"/>
<Setter Property="MaximumTrackColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}"/>
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="SwipeItem">
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
</Style>
<Style TargetType="Switch">
<Setter Property="OnColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="ThumbColor" Value="{StaticResource White}" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="OnColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="On">
<VisualState.Setters>
<Setter Property="OnColor" Value="{AppThemeBinding Light={StaticResource Secondary}, Dark={StaticResource Gray200}}" />
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Off">
<VisualState.Setters>
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Gray400}, Dark={StaticResource Gray500}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="TimePicker">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent"/>
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<!--
<Style TargetType="TitleBar">
<Setter Property="MinimumHeightRequest" Value="32"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="TitleActiveStates">
<VisualState x:Name="TitleBarTitleActive">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="ForegroundColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="TitleBarTitleInactive">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
<Setter Property="ForegroundColor" Value="{AppThemeBinding Light={StaticResource Gray400}, Dark={StaticResource Gray500}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
-->
<Style TargetType="Page" ApplyToDerivedTypes="True">
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource OffBlack}}" />
</Style>
<Style TargetType="Shell" ApplyToDerivedTypes="True">
<Setter Property="Shell.BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource OffBlack}}" />
<Setter Property="Shell.ForegroundColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource SecondaryDarkText}}" />
<Setter Property="Shell.TitleColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource SecondaryDarkText}}" />
<Setter Property="Shell.DisabledColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray950}}" />
<Setter Property="Shell.UnselectedColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray200}}" />
<Setter Property="Shell.NavBarHasShadow" Value="False" />
<Setter Property="Shell.TabBarBackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
<Setter Property="Shell.TabBarForegroundColor" Value="{AppThemeBinding Light={StaticResource Magenta}, Dark={StaticResource White}}" />
<Setter Property="Shell.TabBarTitleColor" Value="{AppThemeBinding Light={StaticResource Magenta}, Dark={StaticResource White}}" />
<Setter Property="Shell.TabBarUnselectedColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
</Style>
<Style TargetType="NavigationPage">
<Setter Property="BarBackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource OffBlack}}" />
<Setter Property="BarTextColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource White}}" />
<Setter Property="IconColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource White}}" />
</Style>
<Style TargetType="TabbedPage">
<Setter Property="BarBackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Gray950}}" />
<Setter Property="BarTextColor" Value="{AppThemeBinding Light={StaticResource Magenta}, Dark={StaticResource White}}" />
<Setter Property="UnselectedTabColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray950}}" />
<Setter Property="SelectedTabColor" Value="{AppThemeBinding Light={StaticResource Gray950}, Dark={StaticResource Gray200}}" />
</Style>
</ResourceDictionary>

@ -1,67 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
<!-- <TargetFrameworks>$(TargetFrameworks);net9.0-tizen</TargetFrameworks> -->
<!-- Note for MacCatalyst:
The default runtime is maccatalyst-x64, except in Release config, in which case the default is maccatalyst-x64;maccatalyst-arm64.
When specifying both architectures, use the plural <RuntimeIdentifiers> instead of the singular <RuntimeIdentifier>.
The Mac App Store will NOT accept apps with ONLY maccatalyst-arm64 indicated;
either BOTH runtimes must be indicated or ONLY macatalyst-x64. -->
<!-- For example: <RuntimeIdentifiers>maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers> -->
<OutputType>Exe</OutputType>
<RootNamespace>ex_AddingFonts</RootNamespace>
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<!-- Display name -->
<ApplicationTitle>ex_AddingFonts</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>com.companyname.ex_addingfonts</ApplicationId>
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<!-- To develop, package, and publish an app to the Microsoft Store, see: https://aka.ms/MauiTemplateUnpackaged -->
<WindowsPackageType>None</WindowsPackageType>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
</PropertyGroup>
<ItemGroup>
<!-- App Icon -->
<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />
<!-- Splash Screen -->
<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" />
<!-- Images -->
<MauiImage Include="Resources\Images\*" />
<MauiImage Update="Resources\Images\dotnet_bot.png" Resize="True" BaseSize="300,185" />
<!-- Custom Fonts -->
<MauiFont Include="Resources\Fonts\*" />
<!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.0" />
</ItemGroup>
</Project>

@ -1,14 +0,0 @@
<?xml version = "1.0" encoding = "UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ex_CurvedLabel"
x:Class="ex_CurvedLabel.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/Colors.xaml" />
<ResourceDictionary Source="Resources/Styles/Styles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>

@ -1,14 +0,0 @@
namespace ex_CurvedLabel;
public partial class App : Application
{
public App()
{
InitializeComponent();
}
protected override Window CreateWindow(IActivationState? activationState)
{
return new Window(new AppShell());
}
}

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Shell
x:Class="ex_CurvedLabel.AppShell"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ex_CurvedLabel"
Shell.FlyoutBehavior="Flyout"
Title="ex_CurvedLabel">
<ShellContent
Title="Home"
ContentTemplate="{DataTemplate local:MainPage}"
Route="MainPage" />
</Shell>

@ -1,9 +0,0 @@
namespace ex_CurvedLabel;
public partial class AppShell : Shell
{
public AppShell()
{
InitializeComponent();
}
}

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:views="clr-namespace:ex_CurvedLabel.Views"
x:Class="ex_CurvedLabel.MainPage">
<Grid ColumnDefinitions="3*,2*,2*">
<views:CurvedLabel Text="The name's Plissken. Call me Snake"
FontFamily="OpenSans-Regular"
FontSize="110"
TextColor="Yellow"
Path="M100,100 Q300,800 600,400 Q900,100 1200,1100"/>
<views:CurvedLabel Text="The name's Plissken. Call me Snake"
Grid.Column="1"
FontFamily="Luminari"
FontSize="110"
TextColor="DarkSalmon"
Path="M 100,400 a 300,300 0 1,0 600,0 a 300,300 0 1,0 -600,0Z"
RotationX="50" RotationY="40"/>
<views:CurvedLabel Text="The name's Plissken. Call me Snake"
Grid.Column="2"
FontFamily="Chalkduster"
FontSize="94"
TextColor="Azure"
Path="M 100,400 a 330,330 0 1,0 660,0 a 330,330 0 1,0 -660,0Z"
Rotation="90"
WidthRequest="430" HeightRequest="400"/>
</Grid>
</ContentPage>

@ -1,10 +0,0 @@
namespace ex_CurvedLabel;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
}

@ -1,28 +0,0 @@
using Microsoft.Extensions.Logging;
using SkiaSharp.Views.Maui.Controls.Hosting;
namespace ex_CurvedLabel;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseSkiaSharp()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
fonts.AddFont("Chalkduster.ttf");
fonts.AddFont("Luminari.ttf");
});
#if DEBUG
builder.Logging.AddDebug();
#endif
return builder.Build();
}
}

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true"></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>

@ -1,10 +0,0 @@
using Android.App;
using Android.Content.PM;
using Android.OS;
namespace ex_CurvedLabel;
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, LaunchMode = LaunchMode.SingleTop, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
public class MainActivity : MauiAppCompatActivity
{
}

@ -1,15 +0,0 @@
using Android.App;
using Android.Runtime;
namespace ex_CurvedLabel;
[Application]
public class MainApplication : MauiApplication
{
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
: base(handle, ownership)
{
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#512BD4</color>
<color name="colorPrimaryDark">#2B0B98</color>
<color name="colorAccent">#2B0B98</color>
</resources>

@ -1,9 +0,0 @@
using Foundation;
namespace ex_CurvedLabel;
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<!-- See https://aka.ms/maui-publish-app-store#add-entitlements for more information about adding entitlements.-->
<dict>
<!-- App Sandbox must be enabled to distribute a MacCatalyst app through the Mac App Store. -->
<key>com.apple.security.app-sandbox</key>
<true/>
<!-- When App Sandbox is enabled, this value is required to open outgoing network connections. -->
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- The Mac App Store requires you specify if the app uses encryption. -->
<!-- Please consult https://developer.apple.com/documentation/bundleresources/information_property_list/itsappusesnonexemptencryption -->
<!-- <key>ITSAppUsesNonExemptEncryption</key> -->
<!-- Please indicate <true/> or <false/> here. -->
<!-- Specify the category for your app here. -->
<!-- Please consult https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype -->
<!-- <key>LSApplicationCategoryType</key> -->
<!-- <string>public.app-category.YOUR-CATEGORY-HERE</string> -->
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

@ -1,15 +0,0 @@
using ObjCRuntime;
using UIKit;
namespace ex_CurvedLabel;
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, typeof(AppDelegate));
}
}

@ -1,16 +0,0 @@
using System;
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
namespace ex_CurvedLabel;
class Program : MauiApplication
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
static void Main(string[] args)
{
var app = new Program();
app.Run(args);
}
}

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="maui-application-id-placeholder" version="0.0.0" api-version="9" xmlns="http://tizen.org/ns/packages">
<profile name="common" />
<ui-application appid="maui-application-id-placeholder" exec="ex_CurvedLabel.dll" multiple="false" nodisplay="false" taskmanage="true" type="dotnet" launch_mode="single">
<label>maui-application-title-placeholder</label>
<icon>maui-appicon-placeholder</icon>
<metadata key="http://tizen.org/metadata/prefer_dotnet_aot" value="true" />
</ui-application>
<shortcut-list />
<privileges>
<privilege>http://tizen.org/privilege/internet</privilege>
</privileges>
<dependencies />
<provides-appdefined-privileges />
</manifest>

@ -1,8 +0,0 @@
<maui:MauiWinUIApplication
x:Class="ex_CurvedLabel.WinUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:maui="using:Microsoft.Maui"
xmlns:local="using:ex_CurvedLabel.WinUI">
</maui:MauiWinUIApplication>

@ -1,24 +0,0 @@
using Microsoft.UI.Xaml;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace ex_CurvedLabel.WinUI;
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// </summary>
public partial class App : MauiWinUIApplication
{
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
public App()
{
this.InitializeComponent();
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
<Identity Name="maui-package-name-placeholder" Publisher="CN=User Name" Version="0.0.0.0" />
<mp:PhoneIdentity PhoneProductId="474EB32D-D57C-4A7D-93A0-9614D7F3C8C3" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
<Properties>
<DisplayName>$placeholder$</DisplayName>
<PublisherDisplayName>User Name</PublisherDisplayName>
<Logo>$placeholder$.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="$placeholder$"
Description="$placeholder$"
Square150x150Logo="$placeholder$.png"
Square44x44Logo="$placeholder$.png"
BackgroundColor="transparent">
<uap:DefaultTile Square71x71Logo="$placeholder$.png" Wide310x150Logo="$placeholder$.png" Square310x310Logo="$placeholder$.png" />
<uap:SplashScreen Image="$placeholder$.png" />
</uap:VisualElements>
</Application>
</Applications>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="ex_CurvedLabel.WinUI.app"/>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<!-- The combination of below two tags have the following effect:
1) Per-Monitor for >= Windows 10 Anniversary Update
2) System < Windows 10 Anniversary Update
-->
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

@ -1,9 +0,0 @@
using Foundation;
namespace ex_CurvedLabel;
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

@ -1,15 +0,0 @@
using ObjCRuntime;
using UIKit;
namespace ex_CurvedLabel;
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, typeof(AppDelegate));
}
}

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This is the minimum required version of the Apple Privacy Manifest for .NET MAUI apps.
The contents below are needed because of APIs that are used in the .NET framework and .NET MAUI SDK.
You are responsible for adding extra entries as needed for your application.
More information: https://aka.ms/maui-privacy-manifest
-->
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<!--
The entry below is only needed when you're using the Preferences API in your app.
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict> -->
</array>
</dict>
</plist>

@ -1,8 +0,0 @@
{
"profiles": {
"Windows Machine": {
"commandName": "Project",
"nativeDebugging": false
}
}
}

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg">
<rect x="0" y="0" width="456" height="456" fill="#512BD4" />
</svg>

Before

Width:  |  Height:  |  Size: 231 B

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<path d="m 105.50037,281.60863 c -2.70293,0 -5.00091,-0.90042 -6.893127,-2.70209 -1.892214,-1.84778 -2.837901,-4.04181 -2.837901,-6.58209 0,-2.58722 0.945687,-4.80389 2.837901,-6.65167 1.892217,-1.84778 4.190197,-2.77167 6.893127,-2.77167 2.74819,0 5.06798,0.92389 6.96019,2.77167 1.93749,1.84778 2.90581,4.06445 2.90581,6.65167 0,2.54028 -0.96832,4.73431 -2.90581,6.58209 -1.89221,1.80167 -4.212,2.70209 -6.96019,2.70209 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 213.56111,280.08446 H 195.99044 L 149.69953,207.0544 c -1.17121,-1.84778 -2.14037,-3.76515 -2.90581,-5.75126 h -0.40578 c 0.36051,2.12528 0.54076,6.67515 0.54076,13.6496 v 65.13172 h -15.54349 v -99.36009 h 18.71925 l 44.7374,71.29798 c 1.89222,2.95695 3.1087,4.98917 3.64945,6.09751 h 0.26996 c -0.45021,-2.6325 -0.67573,-7.09015 -0.67573,-13.37293 v -64.02256 h 15.47557 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="m 289.25134,280.08446 h -54.40052 v -99.36009 h 52.23835 v 13.99669 h -36.15411 v 28.13085 h 33.31621 v 13.9271 h -33.31621 v 29.37835 h 38.31628 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 366.56466,194.72106 H 338.7222 v 85.3634 h -16.08423 v -85.3634 h -27.77455 v -13.99669 h 71.70124 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

@ -1,15 +0,0 @@
Any raw assets you want to be deployed with your application can be placed in
this directory (and child directories). Deployment of the asset to your application
is automatically handled by the following `MauiAsset` Build Action within your `.csproj`.
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
These files will be deployed with your package and will be accessible using Essentials:
async Task LoadMauiAsset()
{
using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
using var reader = new StreamReader(stream);
var contents = reader.ReadToEnd();
}

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<path d="m 105.50037,281.60863 c -2.70293,0 -5.00091,-0.90042 -6.893127,-2.70209 -1.892214,-1.84778 -2.837901,-4.04181 -2.837901,-6.58209 0,-2.58722 0.945687,-4.80389 2.837901,-6.65167 1.892217,-1.84778 4.190197,-2.77167 6.893127,-2.77167 2.74819,0 5.06798,0.92389 6.96019,2.77167 1.93749,1.84778 2.90581,4.06445 2.90581,6.65167 0,2.54028 -0.96832,4.73431 -2.90581,6.58209 -1.89221,1.80167 -4.212,2.70209 -6.96019,2.70209 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 213.56111,280.08446 H 195.99044 L 149.69953,207.0544 c -1.17121,-1.84778 -2.14037,-3.76515 -2.90581,-5.75126 h -0.40578 c 0.36051,2.12528 0.54076,6.67515 0.54076,13.6496 v 65.13172 h -15.54349 v -99.36009 h 18.71925 l 44.7374,71.29798 c 1.89222,2.95695 3.1087,4.98917 3.64945,6.09751 h 0.26996 c -0.45021,-2.6325 -0.67573,-7.09015 -0.67573,-13.37293 v -64.02256 h 15.47557 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="m 289.25134,280.08446 h -54.40052 v -99.36009 h 52.23835 v 13.99669 h -36.15411 v 28.13085 h 33.31621 v 13.9271 h -33.31621 v 29.37835 h 38.31628 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 366.56466,194.72106 H 338.7222 v 85.3634 h -16.08423 v -85.3634 h -27.77455 v -13.99669 h 71.70124 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xaml-comp compile="true" ?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<!-- Note: For Android please see also Platforms\Android\Resources\values\colors.xml -->
<Color x:Key="Primary">#512BD4</Color>
<Color x:Key="PrimaryDark">#ac99ea</Color>
<Color x:Key="PrimaryDarkText">#242424</Color>
<Color x:Key="Secondary">#DFD8F7</Color>
<Color x:Key="SecondaryDarkText">#9880e5</Color>
<Color x:Key="Tertiary">#2B0B98</Color>
<Color x:Key="White">White</Color>
<Color x:Key="Black">Black</Color>
<Color x:Key="Magenta">#D600AA</Color>
<Color x:Key="MidnightBlue">#190649</Color>
<Color x:Key="OffBlack">#1f1f1f</Color>
<Color x:Key="Gray100">#E1E1E1</Color>
<Color x:Key="Gray200">#C8C8C8</Color>
<Color x:Key="Gray300">#ACACAC</Color>
<Color x:Key="Gray400">#919191</Color>
<Color x:Key="Gray500">#6E6E6E</Color>
<Color x:Key="Gray600">#404040</Color>
<Color x:Key="Gray900">#212121</Color>
<Color x:Key="Gray950">#141414</Color>
<SolidColorBrush x:Key="PrimaryBrush" Color="{StaticResource Primary}"/>
<SolidColorBrush x:Key="SecondaryBrush" Color="{StaticResource Secondary}"/>
<SolidColorBrush x:Key="TertiaryBrush" Color="{StaticResource Tertiary}"/>
<SolidColorBrush x:Key="WhiteBrush" Color="{StaticResource White}"/>
<SolidColorBrush x:Key="BlackBrush" Color="{StaticResource Black}"/>
<SolidColorBrush x:Key="Gray100Brush" Color="{StaticResource Gray100}"/>
<SolidColorBrush x:Key="Gray200Brush" Color="{StaticResource Gray200}"/>
<SolidColorBrush x:Key="Gray300Brush" Color="{StaticResource Gray300}"/>
<SolidColorBrush x:Key="Gray400Brush" Color="{StaticResource Gray400}"/>
<SolidColorBrush x:Key="Gray500Brush" Color="{StaticResource Gray500}"/>
<SolidColorBrush x:Key="Gray600Brush" Color="{StaticResource Gray600}"/>
<SolidColorBrush x:Key="Gray900Brush" Color="{StaticResource Gray900}"/>
<SolidColorBrush x:Key="Gray950Brush" Color="{StaticResource Gray950}"/>
</ResourceDictionary>

@ -1,451 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xaml-comp compile="true" ?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<Style TargetType="ActivityIndicator">
<Setter Property="Color" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
</Style>
<Style TargetType="IndicatorView">
<Setter Property="IndicatorColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}"/>
<Setter Property="SelectedIndicatorColor" Value="{AppThemeBinding Light={StaticResource Gray950}, Dark={StaticResource Gray100}}"/>
</Style>
<Style TargetType="Border">
<Setter Property="Stroke" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
<Setter Property="StrokeShape" Value="Rectangle"/>
<Setter Property="StrokeThickness" Value="1"/>
</Style>
<Style TargetType="BoxView">
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource Gray950}, Dark={StaticResource Gray200}}" />
</Style>
<Style TargetType="Button">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource PrimaryDarkText}}" />
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource PrimaryDark}}" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="BorderWidth" Value="0"/>
<Setter Property="CornerRadius" Value="8"/>
<Setter Property="Padding" Value="14,10"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray950}, Dark={StaticResource Gray200}}" />
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PointerOver" />
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="CheckBox">
<Setter Property="Color" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="Color" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="DatePicker">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Editor">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14" />
<Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Entry">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14" />
<Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Frame">
<Setter Property="HasShadow" Value="False" />
<Setter Property="BorderColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray950}}" />
<Setter Property="CornerRadius" Value="8" />
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
</Style>
<Style TargetType="ImageButton">
<Setter Property="Opacity" Value="1" />
<Setter Property="BorderColor" Value="Transparent"/>
<Setter Property="BorderWidth" Value="0"/>
<Setter Property="CornerRadius" Value="0"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="Opacity" Value="0.5" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PointerOver" />
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Label">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular" />
<Setter Property="FontSize" Value="14" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Span">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
</Style>
<Style TargetType="Label" x:Key="Headline">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource MidnightBlue}, Dark={StaticResource White}}" />
<Setter Property="FontSize" Value="32" />
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style TargetType="Label" x:Key="SubHeadline">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource MidnightBlue}, Dark={StaticResource White}}" />
<Setter Property="FontSize" Value="24" />
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style TargetType="ListView">
<Setter Property="SeparatorColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
<Setter Property="RefreshControlColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
</Style>
<Style TargetType="Picker">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="TitleColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
<Setter Property="TitleColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="ProgressBar">
<Setter Property="ProgressColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="ProgressColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="RadioButton">
<Setter Property="BackgroundColor" Value="Transparent"/>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="RefreshView">
<Setter Property="RefreshColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
</Style>
<Style TargetType="SearchBar">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="PlaceholderColor" Value="{StaticResource Gray500}" />
<Setter Property="CancelButtonColor" Value="{StaticResource Gray500}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular" />
<Setter Property="FontSize" Value="14" />
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
<Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="SearchHandler">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="PlaceholderColor" Value="{StaticResource Gray500}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="OpenSansRegular" />
<Setter Property="FontSize" Value="14" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
<Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="Shadow">
<Setter Property="Radius" Value="15" />
<Setter Property="Opacity" Value="0.5" />
<Setter Property="Brush" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource White}}" />
<Setter Property="Offset" Value="10,10" />
</Style>
<Style TargetType="Slider">
<Setter Property="MinimumTrackColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="MaximumTrackColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray600}}" />
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="MinimumTrackColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}"/>
<Setter Property="MaximumTrackColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}"/>
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="SwipeItem">
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
</Style>
<Style TargetType="Switch">
<Setter Property="OnColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
<Setter Property="ThumbColor" Value="{StaticResource White}" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="OnColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="On">
<VisualState.Setters>
<Setter Property="OnColor" Value="{AppThemeBinding Light={StaticResource Secondary}, Dark={StaticResource Gray200}}" />
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Off">
<VisualState.Setters>
<Setter Property="ThumbColor" Value="{AppThemeBinding Light={StaticResource Gray400}, Dark={StaticResource Gray500}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style TargetType="TimePicker">
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource White}}" />
<Setter Property="BackgroundColor" Value="Transparent"/>
<Setter Property="FontFamily" Value="OpenSansRegular"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="MinimumHeightRequest" Value="44"/>
<Setter Property="MinimumWidthRequest" Value="44"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<!--
<Style TargetType="TitleBar">
<Setter Property="MinimumHeightRequest" Value="32"/>
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="TitleActiveStates">
<VisualState x:Name="TitleBarTitleActive">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="ForegroundColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="TitleBarTitleInactive">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
<Setter Property="ForegroundColor" Value="{AppThemeBinding Light={StaticResource Gray400}, Dark={StaticResource Gray500}}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
-->
<Style TargetType="Page" ApplyToDerivedTypes="True">
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource OffBlack}}" />
</Style>
<Style TargetType="Shell" ApplyToDerivedTypes="True">
<Setter Property="Shell.BackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource OffBlack}}" />
<Setter Property="Shell.ForegroundColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource SecondaryDarkText}}" />
<Setter Property="Shell.TitleColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource SecondaryDarkText}}" />
<Setter Property="Shell.DisabledColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray950}}" />
<Setter Property="Shell.UnselectedColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray200}}" />
<Setter Property="Shell.NavBarHasShadow" Value="False" />
<Setter Property="Shell.TabBarBackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
<Setter Property="Shell.TabBarForegroundColor" Value="{AppThemeBinding Light={StaticResource Magenta}, Dark={StaticResource White}}" />
<Setter Property="Shell.TabBarTitleColor" Value="{AppThemeBinding Light={StaticResource Magenta}, Dark={StaticResource White}}" />
<Setter Property="Shell.TabBarUnselectedColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
</Style>
<Style TargetType="NavigationPage">
<Setter Property="BarBackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource OffBlack}}" />
<Setter Property="BarTextColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource White}}" />
<Setter Property="IconColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource White}}" />
</Style>
<Style TargetType="TabbedPage">
<Setter Property="BarBackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Gray950}}" />
<Setter Property="BarTextColor" Value="{AppThemeBinding Light={StaticResource Magenta}, Dark={StaticResource White}}" />
<Setter Property="UnselectedTabColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray950}}" />
<Setter Property="SelectedTabColor" Value="{AppThemeBinding Light={StaticResource Gray950}, Dark={StaticResource Gray200}}" />
</Style>
</ResourceDictionary>

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:skiaviews="clr-namespace:SkiaSharp.Views.Maui.Controls;assembly=SkiaSharp.Views.Maui.Controls"
x:Class="ex_CurvedLabel.Views.CurvedLabel">
<skiaviews:SKCanvasView
x:Name="canvasView"
PaintSurface="OnPainting"/>
</ContentView>

@ -1,109 +0,0 @@
using SkiaSharp;
using SkiaSharp.Views.Maui;
namespace ex_CurvedLabel.Views;
public partial class CurvedLabel : ContentView
{
public CurvedLabel()
{
InitializeComponent();
}
private void OnPainting(object sender, SkiaSharp.Views.Maui.SKPaintSurfaceEventArgs args)
{
SKCanvas canvas = args.Surface.Canvas;
canvas.Clear();
using SKFont font = new SKFont();
font.Size = FontSize;
font.Typeface = SKTypeface.FromFamilyName(FontFamily);
using SKPaint paint = new SKPaint();
paint.Color = TextColor.ToSKColor();
font.MeasureText(Text, out SKRect bounds);
var centerX = bounds.Width / 2;
var startPoint = new SKPoint(centerX - bounds.Width / 2, 100);
var endPoint = new SKPoint(centerX + bounds.Width / 2, 100);
using SKPath path = SKPath.ParseSvgPathData(Path);
path.MoveTo(startPoint);
path.CubicTo(
new SKPoint(centerX - bounds.Width / 4, startPoint.Y + 500),
new SKPoint(centerX + bounds.Width / 4, startPoint.Y + 500),
endPoint);
canvas.DrawTextOnPath(Text, path, 0, 0, font, paint);
}
public static readonly BindableProperty TextProperty
= BindableProperty.Create(
nameof(Text),
typeof(string),
typeof(CurvedLabel),
"something",
propertyChanged: (b, ov, nv) => (b as CurvedLabel)?.canvasView.InvalidateSurface());
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public static readonly BindableProperty FontFamilyProperty
= BindableProperty.Create(
nameof(FontFamily),
typeof(string),
typeof(CurvedLabel),
"OpenSans-Regular",
propertyChanged: (b, ov, nv) => (b as CurvedLabel)?.canvasView.InvalidateSurface());
public string FontFamily
{
get { return (string)GetValue(FontFamilyProperty); }
set { SetValue(FontFamilyProperty, value); }
}
public static readonly BindableProperty FontSizeProperty
= BindableProperty.Create(
nameof(FontSize),
typeof(float),
typeof(CurvedLabel),
80.0f,
propertyChanged: (b, ov, nv) => (b as CurvedLabel)?.canvasView.InvalidateSurface());
public float FontSize
{
get { return (float)GetValue(FontSizeProperty); }
set { SetValue(FontSizeProperty, value); }
}
public static readonly BindableProperty TextColorProperty
= BindableProperty.Create(
nameof(TextColor),
typeof(Color),
typeof(CurvedLabel),
Colors.DarkSalmon,
propertyChanged: (b, ov, nv) => (b as CurvedLabel)?.canvasView.InvalidateSurface());
public Color TextColor
{
get { return (Color)GetValue(TextColorProperty); }
set { SetValue(TextColorProperty, value); }
}
public static readonly BindableProperty PathProperty
= BindableProperty.Create(
nameof(Path),
typeof(string),
typeof(CurvedLabel),
"M100,100 1100,1100",
propertyChanged: (b, ov, nv) => (b as CurvedLabel)?.canvasView.InvalidateSurface());
public string Path
{
get { return (string)GetValue(PathProperty); }
set { SetValue(PathProperty, value); }
}
}

@ -1,68 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
<!-- <TargetFrameworks>$(TargetFrameworks);net9.0-tizen</TargetFrameworks> -->
<!-- Note for MacCatalyst:
The default runtime is maccatalyst-x64, except in Release config, in which case the default is maccatalyst-x64;maccatalyst-arm64.
When specifying both architectures, use the plural <RuntimeIdentifiers> instead of the singular <RuntimeIdentifier>.
The Mac App Store will NOT accept apps with ONLY maccatalyst-arm64 indicated;
either BOTH runtimes must be indicated or ONLY macatalyst-x64. -->
<!-- For example: <RuntimeIdentifiers>maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers> -->
<OutputType>Exe</OutputType>
<RootNamespace>ex_CurvedLabel</RootNamespace>
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<!-- Display name -->
<ApplicationTitle>ex_CurvedLabel</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>com.companyname.excurvedlabel</ApplicationId>
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<!-- To develop, package, and publish an app to the Microsoft Store, see: https://aka.ms/MauiTemplateUnpackaged -->
<WindowsPackageType>None</WindowsPackageType>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
</PropertyGroup>
<ItemGroup>
<!-- App Icon -->
<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />
<!-- Splash Screen -->
<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" />
<!-- Images -->
<MauiImage Include="Resources\Images\*" />
<MauiImage Update="Resources\Images\dotnet_bot.png" Resize="True" BaseSize="300,185" />
<!-- Custom Fonts -->
<MauiFont Include="Resources\Fonts\*" />
<!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.0" />
<PackageReference Include="SkiaSharp.Views.Maui.Controls" Version="3.116.1" />
</ItemGroup>
</Project>

@ -24,7 +24,7 @@
<ApplicationTitle>ex_CustomThemes</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>fr.uca.iut.excustomthemes</ApplicationId>
<ApplicationId>fr.uca.iut.ex_customthemes</ApplicationId>
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>

@ -8,6 +8,7 @@
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/Colors.xaml" />
<ResourceDictionary Source="Resources/Styles/Styles.xaml" />
<ResourceDictionary Source="Resources/Themes/DarkTheme.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>

@ -7,7 +7,7 @@
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Shell.FlyoutBehavior="Disabled"
Shell.Padding="0"
Shell.BackgroundColor="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource PrimaryDark}}"
Shell.BackgroundColor="{DynamicResource PrimaryBackgroundColor}"
Title="ex_CustomToolbar">
<ShellContent

@ -6,7 +6,7 @@
<ContentPage.Behaviors>
<toolkit:StatusBarBehavior
StatusBarColor="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource PrimaryDark}}"
StatusBarColor="{DynamicResource PrimaryBackgroundColor}"
StatusBarStyle="{AppThemeBinding Light=LightContent, Dark=DarkContent}" />
</ContentPage.Behaviors>
@ -65,11 +65,26 @@
SemanticProperties.Description="Welcome to dot net Multi platform App U I" />
<Button
BackgroundColor="{DynamicResource PrimaryBackgroundColor}"
x:Name="CounterBtn"
Text="Click me"
SemanticProperties.Hint="Counts the number of times you click"
Clicked="OnCounterClicked"
HorizontalOptions="Fill" />
<Picker x:Name="picker"
Title="Select a theme"
SelectedIndexChanged="picker_SelectedIndexChanged"
TextColor="{StaticResource PrimaryForegroundColor}"
BackgroundColor="{StaticResource SecondaryBackgroundColor}" >
<Picker.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>Dark</x:String>
<x:String>Light</x:String>
<x:String>Color Blind</x:String>
</x:Array>
</Picker.ItemsSource>
</Picker>
</VerticalStackLayout>
</ScrollView>
<AbsoluteLayout AbsoluteLayout.LayoutFlags="All"

@ -1,4 +1,6 @@
namespace ex_CustomToolbar;
using CommunityToolkit.Maui.Behaviors;
namespace ex_CustomToolbar;
public partial class MainPage : ContentPage
{
@ -21,6 +23,33 @@ public partial class MainPage : ContentPage
SemanticScreenReader.Announce(CounterBtn.Text);
}
void picker_SelectedIndexChanged(object source, EventArgs args)
{
string? chosenThemeString = picker.SelectedItem as string;
ResourceDictionary chosenTheme = chosenThemeString switch
{
"Dark" => new DarkTheme(),
"Light" => new LightTheme(),
"Color Blind" => new ColorBlindTheme(),
_ => new LightTheme()
};
ICollection<ResourceDictionary> mergedDictionaries = Application.Current.Resources.MergedDictionaries;
if (mergedDictionaries != null)
{
foreach(var dico in mergedDictionaries.Where(d => d is ICustomTheme).ToList())
{
mergedDictionaries.Remove(dico);
}
mergedDictionaries.Add(chosenTheme);
#if ANDROID
CommunityToolkit.Maui.Core.Platform.StatusBar.SetColor((Color)Application.Current.Resources["PrimaryBackgroundColor"]);
#endif
}
}
private void EllipsisClicked(object sender, EventArgs e)
{
secondaryMenu.IsVisible = !secondaryMenu.IsVisible;

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<ResourceDictionary xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ex_CustomToolbar.ColorBlindTheme">
<Color x:Key="PrimaryBackgroundColor">#92CCDC</Color>
<Color x:Key="SecondaryBackgroundColor">#E1C2CE</Color>
<Color x:Key="PrimaryForegroundColor">#163D42</Color>
<Color x:Key="SecondaryForegroundColor">#446E77</Color>
</ResourceDictionary>

@ -0,0 +1,9 @@
namespace ex_CustomToolbar;
public partial class ColorBlindTheme : ResourceDictionary, ICustomTheme
{
public ColorBlindTheme()
{
InitializeComponent();
}
}

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<ResourceDictionary xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ex_CustomToolbar.DarkTheme">
<Color x:Key="PrimaryBackgroundColor">#2F2883</Color>
<Color x:Key="SecondaryBackgroundColor">#36743B</Color>
<Color x:Key="PrimaryForegroundColor">#96CBEA</Color>
<Color x:Key="SecondaryForegroundColor">#DBCB82</Color>
</ResourceDictionary>

@ -0,0 +1,9 @@
namespace ex_CustomToolbar;
public partial class DarkTheme : ResourceDictionary, ICustomTheme
{
public DarkTheme()
{
InitializeComponent();
}
}

@ -0,0 +1,6 @@
namespace ex_CustomToolbar;
public interface ICustomTheme
{
}

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<ResourceDictionary xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ex_CustomToolbar.LightTheme">
<Color x:Key="PrimaryBackgroundColor">#96CBEA</Color>
<Color x:Key="SecondaryBackgroundColor">#DBCB82</Color>
<Color x:Key="PrimaryForegroundColor">#2F2883</Color>
<Color x:Key="SecondaryForegroundColor">#36743B</Color>
</ResourceDictionary>

@ -0,0 +1,9 @@
namespace ex_CustomToolbar;
public partial class LightTheme : ResourceDictionary, ICustomTheme
{
public LightTheme()
{
InitializeComponent();
}
}

@ -25,7 +25,7 @@
<ApplicationTitle>ex_CustomToolbar</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>com.companyname.excustomtoolbar</ApplicationId>
<ApplicationId>fr.uca.iut.excustomtoolbar</ApplicationId>
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>

@ -1,15 +0,0 @@
<?xml version = "1.0" encoding = "UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ex_GlyphsFont"
x:Class="ex_GlyphsFont.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/Glyphs.xaml" />
<ResourceDictionary Source="Resources/Styles/Colors.xaml" />
<ResourceDictionary Source="Resources/Styles/Styles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>

@ -1,14 +0,0 @@
namespace ex_GlyphsFont;
public partial class App : Application
{
public App()
{
InitializeComponent();
}
protected override Window CreateWindow(IActivationState? activationState)
{
return new Window(new AppShell());
}
}

@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Shell
x:Class="ex_GlyphsFont.AppShell"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ex_GlyphsFont"
Shell.FlyoutBehavior="Flyout"
Shell.FlyoutWidth="120"
FlyoutBackgroundColor="WhiteSmoke"
Title="ex_GlyphsFont">
<ShellContent
Title="Home"
ContentTemplate="{DataTemplate local:MainPage}"
Route="MainPage">
<ShellContent.Icon>
<FontImageSource Glyph="{StaticResource ion-home}"
FontFamily="Ionicons"
Color="DarkSalmon"/>
</ShellContent.Icon>
</ShellContent>
<ShellContent
Title="Nature"
ContentTemplate="{DataTemplate local:MainPage}"
Route="MainPage">
<ShellContent.Icon>
<FontImageSource Glyph="{StaticResource ion-leaf}"
FontFamily="Ionicons"
Color="SeaGreen"/>
</ShellContent.Icon>
</ShellContent>
<ShellContent
Title="Sport"
ContentTemplate="{DataTemplate local:MainPage}"
Route="MainPage">
<ShellContent.Icon>
<FontImageSource Glyph="{StaticResource ion-ios-tennisball-outline}"
FontFamily="Ionicons"
Color="Red"/>
</ShellContent.Icon>
</ShellContent>
</Shell>

@ -1,9 +0,0 @@
namespace ex_GlyphsFont;
public partial class AppShell : Shell
{
public AppShell()
{
InitializeComponent();
}
}

@ -1,48 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ex_GlyphsFont.MainPage">
<VerticalStackLayout HorizontalOptions="Center"
Padding="30,0"
Spacing="25">
<Label Text="{StaticResource ion-android-bicycle}"
FontFamily="Ionicons"
FontSize="60"
TextColor="DarkSalmon"/>
<Image HorizontalOptions="Start" WidthRequest="60" HeightRequest="60">
<Image.Source>
<FontImageSource Glyph="{StaticResource ion-bug}"
FontFamily="Ionicons"
Color="DarkSalmon"
Size="60"/>
</Image.Source>
</Image>
<ImageButton HorizontalOptions="Start">
<ImageButton.Source>
<FontImageSource Glyph="{StaticResource ion-close-circled}"
FontFamily="Ionicons"
Color="Red"
Size="60"/>
</ImageButton.Source>
</ImageButton>
<Button Text="Delete" TextColor="Red" HorizontalOptions="Start"
BackgroundColor="Transparent"
BorderColor="Red"
BorderWidth="2"
CornerRadius="10">
<Button.ImageSource>
<FontImageSource Glyph="{StaticResource ion-close-circled}"
FontFamily="Ionicons"
Color="Red"
Size="60"/>
</Button.ImageSource>
</Button>
</VerticalStackLayout>
</ContentPage>

@ -1,10 +0,0 @@
namespace ex_GlyphsFont;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
}

@ -1,25 +0,0 @@
using Microsoft.Extensions.Logging;
namespace ex_GlyphsFont;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
fonts.AddFont("ionicons.ttf", "Ionicons");
});
#if DEBUG
builder.Logging.AddDebug();
#endif
return builder.Build();
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save