如何在Xamarin.Forms中为自定义控件提供默认样式?

时间:2020-02-29 18:33:09

标签: xamarin.forms custom-controls

在UWP中,如果我想为自定义控件指定默认样式,则将其编码如下:

    public PriceControl()
    {
        // This allows the control to pick up a template.
        this.DefaultStyleKey = typeof(PriceControl);
    }

我在Xamarin.Forms中找不到等效项。您如何告诉自定义控件默认情况下应使用样式?

1 个答案:

答案 0 :(得分:1)

只需在App.Xaml中定义控件类型的样式,就不给键一个目标类型的键就可以了:

<Application.Resources>
    <ResourceDictionary>
        <Style 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>

只需用您的控件及其属性替换按钮,即可进入设置器,这将是此控件的全局默认样式!