将特定样式应用于Xamarin.Forms元素的所有子元素

时间:2017-12-06 06:09:04

标签: xaml xamarin.forms

我有一个带有目标类型Grid的Style。我希望此样式的网格中的所有Entry子元素自动获取特定样式。

我看过这些:

Styling nested elements in WPF

Apply Style to all child-elements of specific type

唯一的解决方案似乎是在父样式中设置资源,所以这就是我所做的:

<Style x:Key="BuggyGrid" TargetType="Grid">
    <!-- bunch of property setters -->
    <Style.Resources>
        <Style TargetType="Entry">
            <Setter Property="FontFamily" Value="Arial" />
        </Style>
    </Style.Resources>
</Style>

但是,我收到了构建错误: “没有为'资源'找到属性,可绑定属性或事件。”

为什么我会收到此错误?

我正在使用Xamarin.Forms 2.3.2。

2 个答案:

答案 0 :(得分:2)

您引用的链接特定于WPF XAML,不适用于Xamarin.Forms XAML。

我不确定如何在Xamarin.Forms中实现嵌套样式。

唯一的可能性是XamlCSS,我个人没有使用过。

https://www.nuget.org/packages/XamlCSS.xamarinforms/2.0.0-pre1

答案 1 :(得分:-2)

<Style x:Key="BuggyGrid" TargetType="Grid">
    <Setter Property="Entry.FontFamily" Value="Arial" />
</Style>