Я создал два xamls (я создал как ContentPage) один для темы Light, а другой для темы Dark (для iOS)
LightTheme.xaml выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="LightTheme"/>
и LightTheme.xaml.cs
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace MyApp.Forms
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class LightTheme : ResourceDictionary
{
}
}
Аналогично для DarkTheme.xaml (.cs).
В App.xaml.cs я ставлю
public static void ApplyTheme()
{
if (AppInfo.RequestedTheme == AppTheme.Dark)
{
App.Current.Resources = new DarkTheme();
}
else
{
App.Current.Resources = new LightTheme();
}
}
и приложение .xaml
...
<ResourceDictionary Source="LightTheme.xaml">
<local:AppResource x:Key="AppResource"></local:AppResource>
<OnPlatform x:Key="validMargin" x:TypeArguments="Thickness" >
<On Platform="UWP" Value="0,-5,0,0"/>
</OnPlatform>
<!--The Colors-->
<Color x:Key="DarkPrimary">#403152</Color>
<Color x:Key="Primary">#564266</Color>
...
При сборке решения я получил ошибки
Как это исправить?