1
我目前在我的App.xaml文件中有我所有的樣式。有沒有辦法將它們分組爲一個主題,以便我可以多個應用程序主題並隨意更改?我可以在Xamarin Forms中創建樣式主題嗎?
我目前在我的App.xaml文件中有我所有的樣式。有沒有辦法將它們分組爲一個主題,以便我可以多個應用程序主題並隨意更改?我可以在Xamarin Forms中創建樣式主題嗎?
據我所知在Xamarin.Forms中沒有內置的主題支持,但是你可以實現一個。 您需要這樣做: 1.使用相同的樣式列表將多個ResourceDictionaries添加到App.xaml。
<Application
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ThemeTest.App">
<Application.Resources>
</Application.Resources>
<ResourceDictionary x:Name="Default">
<Style x:Key="labelStyle" TargetType="Label">
<Setter Property="TextColor" Value="Green" />
</Style>
</ResourceDictionary>
<ResourceDictionary x:Name="Second">
<Style x:Key="labelStyle" TargetType="Label">
<Setter Property="TextColor" Value="Yellow" />
</Style>
</ResourceDictionary>
</Application>
2.在你的App.xaml.cs中添加代碼以切換樣式。
public partial class App : Application
{
public App()
{
InitializeComponent();
SetDefaultStyle();
MainPage = new TestPage();
}
public void SetDefaultStyle()
{
Resources = Default;
}
public void SetSecondStyle()
{
Resources = Second;
}
}
3.在XAML中使用DynamicResource標記擴展引用您的樣式。
<Label Text="Test text" Style="{DynamicResource labelStyle}" />
我創建了示例應用程序,您可以找到here。 殼牌您有任何問題歡迎您提問。