2016-05-12 12 views
0

Ich erstelle meine erste Xamarin-Formularanwendung mit PCL auf einem Mac-Computer mit Xamarin Studio. Ich habe so viele Artikel gelesen, um einen globalen Stil für die Anwendung zu erstellen, aber ich kann nicht auf den Stil zugreifen, der in der Datei App.xaml.cs Dateien innerhalb der Anwendung deklariert hat. Ich erwähne unten ein bisschen Code, den ich benutzt habe. Oder wenn jemand eine andere Möglichkeit hat, es einfach oder irgendwie möglich zu machen, bitte schlagen Sie mir vor. Danke im Voraus.So erstellen Sie einen globalen Stil für Xamarin-Formularanwendung

App.xaml.cs-

<Application xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="DinePerfect.App"> 
    <Application.Resources> 
     <ResourceDictionary> 
      <Style x:Key="btnStyle" TargetType="Button"> 
       <Setter Property="HorizontalOptions" Value="Center" /> 
       <Setter Property="VerticalOptions" Value="CenterAndExpand" /> 
       <Setter Property="BorderColor" Value="Lime" /> 
       <Setter Property="BorderRadius" Value="5" /> 
       <Setter Property="BorderWidth" Value="5" /> 
       <Setter Property="WidthRequest" Value="200" /> 
       <Setter Property="TextColor" Value="Teal" /> 
      </Style> 
     </ResourceDictionary> 
    </Application.Resources> 
</Application> 

Berufung Stil in anderen File-

<Button Text="Login" Style="{StaticResource btnStyle} TextColor="Black" BackgroundColor="#9C661F" Clicked="btnLoginClicked" /> 

Antwort

1

Sie müssen tatsächlich den Background im Stil als gut, um die Rahmenfarbe Arbeit zu machen.

From the Button.BorderColor Documentation

Diese Eigenschaft hat keine Auswirkung, wenn Button.BorderWidth diese Eigenschaft auf 0. Android gesetzt ist, wird keine Wirkung haben, wenn VisualElement.BackgroundColor auf einen Nicht-Standard-Farbe eingestellt ist.

Stil:

<ResourceDictionary> 
    <Style x:Key="btnStyle" TargetType="Button"> 
    <Setter Property="HorizontalOptions" Value="Center" /> 
    <Setter Property="VerticalOptions" Value="CenterAndExpand" /> 
    <Setter Property="BackgroundColor" Value="Black" /> 
    <Setter Property="BorderColor" Value="Lime" /> 
    <Setter Property="BorderRadius" Value="5" /> 
    <Setter Property="BorderWidth" Value="5" /> 
    <Setter Property="WidthRequest" Value="200" /> 
    <Setter Property="TextColor" Value="Teal" /> 
    </Style> 
</ResourceDictionary> 

Verwendung in XAML:

<Button Text="Login" Style="{StaticResource btnStyle}" /> 

Dies funktioniert für mich.

Edit: Example Project

+0

Hallo @Marius -Ich weiß es nicht, aber ich kämpfe mit ihm von zwei Tagen und ich bekomme Fehler, dass StaticResource btnStyle nicht gefunden wird. Ich bekomme es, wenn ich oben in jeder einzelnen Datei deklariere. Können Sie mir bitte sagen, welchem ​​Verfahren Sie gefolgt sind? – Dipak

+0

Hallo, ich habe einen Link zum Projekt hinzugefügt, wo ich Ihr Problem reproduziert habe. Können Sie eine vollständige XAML-Seite posten, auf die Sie den Stil beziehen? Ich bin mir nicht sicher, warum das nicht für Sie funktioniert. –

5

aussieht, während die App-Klasse zu konvertieren XAML-basierten Sie InitializeComponent(); Anruf in Konstruktor verpasst haben.

2

Ich glaube, Sie vergessen zu hinzufügen InitializeComponent(); in Ihrer App.cs. Wenn Sie einen XAML-Code haben, müssen Sie InitializeComponent() aufrufen; im Konstruktor.