2016-12-22 33 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它的工作原理。如果它不适合你,请使用错误跟踪器报告 –