2017-03-16 3 views
4

Ich möchte meine Ressourcen auf der app.xaml einstellen und dann in den verschiedenen Ansichten der App verwenden, aber wenn ich die Farbe der App abstürzt u.u, könnte mir jemand helfen?wie man Farbe von globalen Betriebsmitteln benutzt?

app.xaml

<Application.Resources> 
    <ResourceDictionary> 
     <Color x:Key="Primary">#FFC107</Color> 
    </ResourceDictionary> 
</Application.Resources> 

es in einem StackLayout verwenden

<StackLayout Orientation="Vertical" BackgroundColor="{StaticResource Primary}"> 
+0

'Style' würde eine' StyleTemplate' als Ressource erwarten. Willst du stattdessen nur? '' –

+0

ja, aber es funktioniert nicht in diesem Modus –

+0

Mode? Möchte es vielleicht eine Ressource vom Typ 'Brush' anstelle von' Color'? –

Antwort

3

Haben Sie InitializeComponent in der App.xaml.cs aufgerufen?

+0

Vielen Dank das war der fehlende Teil. es funktioniert jetzt!! (Y) –

1
BackgroundColor="{DynamicResource Primary}" 

seine eine Dynamic, kein Static.

Hier ist, was mein Code wie zum Beispiel aussieht:

App.xaml

hat
<Color x:Key="titleColor">Green</Color> 

und ein Page.xaml hat

TextColor="{DynamicResource titleColor}" 
+0

mit DynamicResource wird nicht zum Absturz meiner App, aber es wird nicht die Farbe auf den Hintergrund meiner StackLayout angewendet. –

+1

@AlexanderRojas, seltsam, ich benutze das in meiner App, ich habe globale Stile auf bestimmte Layouts und Kontrollen auch angewendet. An dieser Stelle kann ich nur daran denken, zu überprüfen, was "farid JAD7" vorschlägt, InitializeComponent im Code dahinter aufzurufen. '\t \t öffentliche App() { \t \t \t InitializeComponent(); // um die globalen Stile zu laden – Allister

2

Sie statische Ressource verwenden müssen, finde ich eine gute Ressource für Sie:

https://blog.xamarin.com/easy-app-theming-with-xamarin-forms-styles/

Sie müssen also wie folgt vorgehen: Definieren

1- eine ResourceDictionary bei der App-Ebene in App.xaml

<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- Verwenden Static Erweiterung Markup vordefinierten Ressourcen zu verweisen:

<Label Text="{Binding Text}" TextColor = "{StaticResource textColor}"/> 
+0

das ist, was ich getan habe und nicht funktioniert hat !! –

+0

so, ich denke, das Problem nicht von diesem Problem –

+0

kommen, wenn ich StaticResource meine App stürzt !! –