2016-12-22 31 views
1

我有一些設置我想適用於幾乎所有我的Labels,所以我的想法是使用我的「默認屬性」創建一個templateLabel,然後當我創建它們時,將它複製到我的其他標籤。在C#/ Xamarin.Forms中使用一個對象(標籤)作爲其他模板對象

第一次,我雖然是創建一個繼承自Xamarin.Forms.Label的類,在那裏我定義了我的默認屬性,然後用它製作標籤,而不是new Label()。但是我對此有疑問,它會是正確的(最好?只有?可能?)的方式來做到這一點?或者存在類似的東西。

var myDefaultPropierties = {Text : "Something", VerticalOptions: LayoutOptions.Center}; 
Label myFirstLabel = new Label(myDefaultPropierties); 
Label mySecondLabel = new Label(myDefaultPropierties); 
+1

找到更多的信息,我想你想要的是一個風格。看看他們。我在這裏找到了一些信息:https://developer.xamarin.com/guides/xamarin-forms/user-interface/styles/introduction/ – Neme

回答

2

創建的Label一個子類的工作,但使用樣式,並應用樣式到您Label更乾淨。

這是XAML中的樣式示例。您可以實現代碼相同的結果,但樣式,主要還是從XAML使用:

<ContentPage.Resources> 
    <ResourceDictionary> 
     <Style x:Key="labelStyle" TargetType="Label"> 
      <Setter Property="Text" Value="Something" /> 
      <Setter Property="VerticalOptions" Value="Center" /> 
     </Style> 
    </ResourceDictionary> 
<ContentPage.Resources> 

... 

<Label Style="{StaticResource labelStyle}" /> 

你會在https://developer.xamarin.com/guides/xamarin-forms/user-interface/styles/introduction/

+0

你有沒有運氣應用隱式風格到app.xaml? – JStevens

+0

@JStevens它的工作原理。如果它不適合你,請使用錯誤跟蹤器報告 –