Beingnin
Beingnin

Reputation: 2422

Property Resources is null or is not IEnumerable

I got this error in break mode in visual studio 2015 when I was learning to make a Xamarin.Forms page.

Unhandled Exception: Xamarin.Forms.Xaml.XamlParseException: Position 12:10. Property Resources is null or is not IEnumerable

My App.xaml code is below

    <?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>

Also xamarin not showing where exactly the exception occuring

Upvotes: 1

Views: 468

Answers (2)

MShah
MShah

Reputation: 1267

Define style in App.xaml like this:

<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>

and then Use in xaml:

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

Upvotes: 1

Gerald Versluis
Gerald Versluis

Reputation: 34083

You forgot the ResourceDictionary tag:

<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>

Upvotes: 4

Related Questions