使用xamarin表单中的classid更改多个按钮的属性

时间:2018-06-15 08:13:34

标签: xaml xamarin

我想使用classid更改多个按钮的BorderWidth属性。是否有可能以xamarin形式出现。像 classid.BorderWidth = borderwidth

之类的东西

1 个答案:

答案 0 :(得分:0)

在Xamarin Forms中,要更改相同类型的多个控件的样式,必须使用Style类。

您可以定义Application级别或page级别的样式。这是页面级别的样式定义:

<ContentPage ....>

    <ContentPage.Resources>
        <Style x:Key="myBigButtonStyle" TargetType="Button">
            <Setter Property="Foreground" Value="Black" />
            <Setter Property="BorderThickness" Value="10" />
        </Style>

    </ContentPage.Resources>
    . . .

要应用样式:

<Button x:Name="button1" Style="{StaticResource myBigButtonStyle}" ... />

但是如果您想将此样式应用于页面的所有按钮,只需删除资源按钮样式KEY:

<Style TargetType="Button">
    <Setter Property="Foreground" Value="Black" />
    <Setter Property="BorderThickness" Value="10" />
</Style>

然后,不要在按钮上应用任何样式:

<Button x:Name="button1" ... />

可在此处找到所有style类文档: Microsoft styles documentation

语法与html不同。但是在最新版本的Xamarin中,您可以使用CSS文件来应用样式。但是这个选项仍然有限: Using CSS files with Xamarin Forms documentation