Xaml 属性资源为null或不可IEnumerable

Xaml 属性资源为null或不可IEnumerable,xaml,xamarin.forms,Xaml,Xamarin.forms,我在学习制作Xamarin.Forms页面时,在VisualStudio2015的中断模式下遇到了这个错误 未处理的异常: Xamarin.Forms.Xaml.XamlParseException:位置12:10。属性资源为null或不可IEnumerable 我的App.xaml代码如下 <?xml version="1.0" encoding="utf-8" ?> <Application xmlns="http://xamarin.com/schemas/201

我在学习制作Xamarin.Forms页面时,在VisualStudio2015的中断模式下遇到了这个错误

未处理的异常: Xamarin.Forms.Xaml.XamlParseException:位置12:10。属性资源为null或不可IEnumerable

我的App.xaml代码如下

    <?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Bisells.App">
    <Application.Resources>

        <!-- Application resource dictionary -->
        <!--  colors  -->
        <!--<Color x:Key="HeaderTextColor">#585858</Color>
            <Color x:Key="BodyTextColor">#C3C3C3</Color>-->

        <Color x:Key="TimelineColor">#E4B6C3</Color>
        <Color x:Key="HeaderTextColor">#3C3C3C</Color>
        <Color x:Key="BodyTextColor">#869EAC</Color>
        <Color x:Key="TimeColor">#A64C79</Color>

        <!--  font families  -->
        <OnPlatform
                x:Key="RegularFontFamily"
                x:TypeArguments="x:String"
                Android="sans-serif"
                iOS="HelveticaNeue" />
        <OnPlatform
                x:Key="LightFontFamily"
                x:TypeArguments="x:String"
                Android="sans-serif-light"
                iOS="HelveticaNeue-Light" />
        <OnPlatform
                x:Key="MediumFontFamily"
                x:TypeArguments="x:String"
                Android="sans-serif-medium"
                iOS="HelveticaNeue-Medium" />

        <!--  fonts  -->
        <Font
                x:Key="HeaderFont"
                FontFamily="{StaticResource MediumFontFamily}"
                FontSize="30" />
        <Font
                x:Key="SubHeaderFont"
                FontFamily="{StaticResource MediumFontFamily}"
                FontSize="18" />
        <Font
                x:Key="TitleFont"
                FontFamily="{StaticResource MediumFontFamily}"
                FontSize="20" />
        <Font
                x:Key="BodyFont"
                FontFamily="{StaticResource RegularFontFamily}"
                FontSize="18" />


        <!--  styles  -->
        <Style x:Key="PageHeaderLabel" TargetType="Label">
            <Setter Property="TextColor" Value="{StaticResource HeaderTextColor}" />
            <Setter Property="Font" Value="{StaticResource HeaderFont}" />
        </Style>

        <Style x:Key="SubHeaderLabel" TargetType="Label">
            <Setter Property="TextColor" Value="{StaticResource BodyTextColor}" />
            <Setter Property="Font" Value="{StaticResource SubHeaderFont}" />
        </Style>

        <Style x:Key="ClassTimeLabel" TargetType="Label">
            <Setter Property="TextColor" Value="{StaticResource TimeColor}" />
            <Setter Property="Font" Value="{StaticResource TitleFont}" />
        </Style>

        <Style x:Key="ClassNameLabel" TargetType="Label">
            <Setter Property="TextColor" Value="{StaticResource HeaderTextColor}" />
            <Setter Property="Font" Value="{StaticResource TitleFont}" />
        </Style>

        <Style x:Key="ClassInstructorLabel" TargetType="Label">
            <Setter Property="TextColor" Value="{StaticResource BodyTextColor}" />
            <Setter Property="Font" Value="{StaticResource BodyFont}" />
        </Style>
    </Application.Resources>
</Application>

#E4B6C3
#3C3C
#869EAC
#A64C79

另外,xamarin没有显示异常发生的确切位置

您忘记了
ResourceDictionary
标记:

<Application.Resources>
    <ResourceDictionary>
        <!-- Application resource dictionary -->
        <!--  colors  -->
        <!--<Color x:Key="HeaderTextColor">#585858</Color>
            <Color x:Key="BodyTextColor">#C3C3C3</Color>-->

        <Color x:Key="TimelineColor">#E4B6C3</Color>
        <Color x:Key="HeaderTextColor">#3C3C3C</Color>
        <Color x:Key="BodyTextColor">#869EAC</Color>
        <Color x:Key="TimeColor">#A64C79</Color>
    </ResourceDictionary>
 </Application.Resources>

#E4B6C3
#3C3C
#869EAC
#A64C79

您忘记了
ResourceDictionary
标记:

<Application.Resources>
    <ResourceDictionary>
        <!-- Application resource dictionary -->
        <!--  colors  -->
        <!--<Color x:Key="HeaderTextColor">#585858</Color>
            <Color x:Key="BodyTextColor">#C3C3C3</Color>-->

        <Color x:Key="TimelineColor">#E4B6C3</Color>
        <Color x:Key="HeaderTextColor">#3C3C3C</Color>
        <Color x:Key="BodyTextColor">#869EAC</Color>
        <Color x:Key="TimeColor">#A64C79</Color>
    </ResourceDictionary>
 </Application.Resources>

#E4B6C3
#3C3C
#869EAC
#A64C79

在App.xaml中定义样式如下:

<Application xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="PlatformFontSample.App">
<Application.Resources>
    <ResourceDictionary>
        <OnPlatform x:Key="FontFamilyName" x:TypeArguments="x:String" iOS="MarkerFelt-Thin" Android="OpenSans" WinPhone="Segoe UI" />
        <Style x:Key="FontLabel" TargetType="Label">
            <Setter Property="FontFamily" Value="{DynamicResource FontFamilyName}" />
        </Style>
    </ResourceDictionary>
</Application.Resources>

然后在xaml中使用:

<Label Text="{Binding Name}" Style="{DynamicResource FontLabel}" FontSize="Medium" FontAttributes="Bold" LineBreakMode="NoWrap"/>

在App.xaml中定义样式如下:

<Application xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="PlatformFontSample.App">
<Application.Resources>
    <ResourceDictionary>
        <OnPlatform x:Key="FontFamilyName" x:TypeArguments="x:String" iOS="MarkerFelt-Thin" Android="OpenSans" WinPhone="Segoe UI" />
        <Style x:Key="FontLabel" TargetType="Label">
            <Setter Property="FontFamily" Value="{DynamicResource FontFamilyName}" />
        </Style>
    </ResourceDictionary>
</Application.Resources>

然后在xaml中使用:

<Label Text="{Binding Name}" Style="{DynamicResource FontLabel}" FontSize="Medium" FontAttributes="Bold" LineBreakMode="NoWrap"/>


谢谢,异常消失了,但新的异常触发了
Xamarin.Forms.Xaml.XamlParseException:Position 37:17。无法分配属性“FontFamily”:属性不存在,或不可分配,或值和属性之间的类型不匹配
您确定可以在资源中使用这样的字体吗?不知道。将此作为模板,感谢异常消失,但新异常被激发
Xamarin.Forms.Xaml.XamlParseException:Position 37:17。无法分配属性“FontFamily”:属性不存在,或不可分配,或值和属性之间的类型不匹配
您确定可以在资源中使用这样的字体吗?不知道。把这个作为模板