我想在app.xaml上设置我的资源,然后在应用程序的不同视图中使用它,但是当我设置颜色应用程序崩溃时,有人可以帮助我吗?
的App.xaml
<Application.Resources>
<ResourceDictionary>
<Color x:Key="Primary">#FFC107</Color>
</ResourceDictionary>
</Application.Resources>
在StackLayout中使用它
<StackLayout Orientation="Vertical" BackgroundColor="{StaticResource Primary}">
答案 0 :(得分:3)
您是否在App.xaml.cs中调用了InitializeComponent?
答案 1 :(得分:2)
你需要使用静态资源,我找到了一个很好的资源:
https://blog.xamarin.com/easy-app-theming-with-xamarin-forms-styles/
所以你需要做以下事情:
1-在App.xaml中的应用级定义ResourceDictionary
<Application
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MonkeyTweet.App">
<Application.Resources>
<ResourceDictionary>
<Color x:Key="backgroundColor">#33302E</Color>
<Color x:Key="textColor">White</Color>
</ResourceDictionary>
</Application.Resources>
</Application>
2-使用StaticResource标记扩展来引用预定义资源:
<Label Text="{Binding Text}" TextColor = "{StaticResource textColor}"/>
答案 2 :(得分:1)
BackgroundColor="{DynamicResource Primary}"
它是DynamicResource,而不是StaticResource。
以下是我的代码的示例:
App.xaml
<Color x:Key="titleColor">Green</Color>
和page.xaml有
TextColor="{DynamicResource titleColor}"