2017-04-01 6 views
0

Ich möchte einige Seiten mit bestimmten Padding in Sytacklayout erstellen. Ich möchte es nicht auf allen Seiten schreiben. Und es ist kein gutes Design, wenn ich es in Zukunft ändern will. Gibt es eine Möglichkeit, das Auffüllen in statischen Ressourcen zu definieren? Damit ich es an einem Ort App.xml definieren und verwenden Sie es auf anderen Seiten.Xamarin Forms Padding in StaticResource

Ich habe

versucht
<ContentPage.Resources> 
    <ResourceDictionary> 
     <x:String x:Key="padding">45, 0, 45, 0</x:String> 
    </ResourceDictionary> 
</ContentPage.Resources> 
<StackLayout Padding="{StaticResource padding}"> 
    <Label Text="{StaticResource padding}"/> 
</StackLayout> 
+0

https://developer.xamarin.com/guides/xamarin-forms/user-interface/styles/application/ – EvZ

+0

Es ist möglich, StaticResource zu verwenden. Ich habe es bereits mit Stil gelöst. Aber ich muss statische Ressource verwenden. Stil für eine Eigenschaft definieren scheint mir nicht gut. Bitte um Rat. Und danke für die Antwort. – Atiq

Antwort

1

Wie gesagt, sollten Sie Thickness verwenden. Darüber hinaus ist für Ihre Ressource auf der Anwendungsebene einstellen, setzen Sie es in Ihrer App.xaml Datei:

<Application ...> 
<Application.Resources> 
     <ResourceDictionary> 
      <Thickness x:Key="padding">45,0, 45, 0</Thickness> 
      // some others resources... 
     </ResourceDictionary> 
    </Application.Resources> 
</Application> 

nennen es dann von den verschiedenen Seiten:

<ContentPage> 
    <StackLayout Padding="{StaticResource padding}"> 
     <Label Text="{StaticResource padding}"/> 
    </StackLayout> 
    ... 

link to documentation

Hoffe, es hilft!

0

Verwenden Sie einfach Thickness anstelle eines string:

<ContentPage.Resources> 
<ResourceDictionary> 
    <Thickness x:Key="padding">45,0</Thickness> 
</ResourceDictionary> 
</ContentPage.Resources> 
<StackLayout Padding="{StaticResource padding}"> 
    <Label Text="{StaticResource padding}"/> 
</StackLayout>