简体   繁体   English

Xamarin.Forms-使用枚举作为触发器

[英]Xamarin.Forms - using an enum for a trigger

I am trying to achieve changing background color for my StackLayout based on a trigger that targets enum property. 我正在尝试基于针对枚举属性的触发器来为StackLayout更改背景色。

However I am getting: "An unhandled exception occured". 但是我得到:“发生未处理的异常”。

When I remove the trigger everything works as expected. 当我删除触发器时,一切都会按预期进行。 Here is the relevant code: 以下是相关代码:

<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:ParkAndRidePrague"
             xmlns:my="clr-namespace:ParkAndRidePrague.Core.Enums;assembly=ParkAndRidePrague.Core"
             x:Class="ParkAndRidePrague.MainPage">
    <ContentPage.Content>
        <ListView  x:Name="listViewParkings">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <StackLayout BackgroundColor="#eee"
                        Orientation="Vertical">
                            <StackLayout Orientation="Horizontal">
                                <Label Margin="10, 5, 0, 5" VerticalTextAlignment="Center" Text="{Binding Name}" TextColor="Black" FontSize="20" />
                                <Label Margin="0, 5, 10, 5" VerticalTextAlignment="Center" Text="{Binding NumOfFreePlaces}" HorizontalOptions="EndAndExpand" TextColor="Black" FontSize="20" />
                                <StackLayout.Triggers>
                                    <DataTrigger Binding="{Binding Path=ParkingAvailability}" Value="{x:Static my:ParkingAvailability.Low}">
                                        <Setter Property="BackgroundColor" Value="Red" />
                                    </DataTrigger>
                                </StackLayout.Triggers>
                            </StackLayout>
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </ContentPage.Content> </ContentPage>

Here is the enum: 这是枚举:

namespace ParkAndRidePrague.Core.Enums {
    public enum ParkingAvailability
    {
        Low,
        Medium,
        High
    } }

I followed this question/answer but there still seems to be something off that I can't find. 我遵循了这个问题/答案,但似乎仍然找不到某些东西。

Whole exception: 整体例外:

03-08 11:33:12.511 I/MonoDroid(14705): UNHANDLED EXCEPTION: 03-08 11:33:12.567 I/MonoDroid(14705): Xamarin.Forms.Xaml.XamlParseException: Position 18:38. 03-08 11:33:12.511 I / MonoDroid(14705):无法处理的例外:03-08 11:33:12.567 I / MonoDroid(14705):Xamarin.Forms.Xaml.XamlParseException:位置18:38。 The Property TargetType is required to create a Xamarin.Forms.DataTrigger object. 创建Xamarin.Forms.DataTrigger对象需要属性TargetType。 03-08 11:33:12.567 I/MonoDroid(14705): at Xamarin.Forms.Xaml.CreateValuesVisitor.Visit (Xamarin.Forms.Xaml.ElementNode node, Xamarin.Forms.Xaml.INode parentNode) [0x0014b] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Xaml\\CreateValuesVisitor.cs:77 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.Xaml.ElementNode.Accept (Xamarin.Forms.Xaml.IXamlNodeVisitor visitor, Xamarin.Forms.Xaml.INode parentNode) [0x000b1] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Xaml\\XamlNode.cs:176 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.Xaml.ElementNode.Accept (Xamarin.Forms.Xaml.IXamlNodeVisitor visitor, Xamarin.Forms.Xaml.INode parentNode) [0x00054] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Xaml\\XamlNode.cs:171 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.Xaml.ElementNode.Accept (Xamarin.Forms.Xaml.IXamlNodeVisitor visitor, Xamarin.Forms.Xaml.INode parentNode) [0x00089] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Xaml\\XamlNode.cs:173 03-08 11:33:12.567 I / MonoDroid(14705):位于C中的Xamarin.Forms.Xaml.CreateValuesVisitor.Visit(Xamarin.Forms.Xaml.ElementNode节点,Xamarin.Forms.Xaml.INode父节点)[0x0014b] \\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Xaml \\ CreateValuesVisitor.cs:77 03-08 11:33:12.568 I / MonoDroid(14705):位于Xamarin.Forms.Xaml.ElementNode.Accept(Xamarin.Forms.Xaml。 IXamlNodeVisitor访客,Xamarin.Forms.Xaml.INode parentNode)[0x000b1]位于C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Xaml \\ XamlNode.cs:176 03-08 11:33:12.568 I / MonoDroid(14705) :位于Xamarin.Forms.Xaml.ElementNode.Accept(Xamarin.Forms.Xaml.IXamlNodeVisitor访问者,Xamarin.Forms.Xaml.INode父节点)[0x00054],位于C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Xaml \\ Xaml .cs:171 03-08 11:33:12.568 I / MonoDroid(14705):位于Xamarin.Forms.Xaml.ElementNode.Accept(Xamarin.Forms.Xaml.IXamlNodeVisitor访问者,Xamarin.Forms.Xaml.INode父节点)[0x00089 ]在C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Xaml \\ XamlNode.cs:173中 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.Xaml.ElementNode.Accept (Xamarin.Forms.Xaml.IXamlNodeVisitor visitor, Xamarin.Forms.Xaml.INode parentNode) [0x00089] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Xaml\\XamlNode.cs:173 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.Xaml.ApplyPropertiesVisitor+<>c__DisplayClass32_0.b__0 () [0x0008a] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Xaml\\ApplyPropertiesVisitor.cs:474 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.ElementTemplate.CreateContent () [0x00026] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\ElementTemplate.cs:78 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.DataTemplateExtensions.CreateContent (Xamarin.Forms.DataTemplate self, System.Object item, Xamarin.Forms.BindableObject container) [0x00014] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\DataTemplateExtensions.cs:12 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.TemplatedItemsLis 03-08 11:33:12.568 I / MonoDroid(14705):位于C中的Xamarin.Forms.Xaml.ElementNode.Accept(Xamarin.Forms.Xaml.IXamlNodeVisitor访问者,Xamarin.Forms.Xaml.INode parentNode)[0x00089] \\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Xaml \\ XamlNode.cs:173 03-08 11:33:12.568 I / MonoDroid(14705):在Xamarin.Forms.Xaml.ApplyPropertiesVisitor + <> c__DisplayClass32_0.b__0()[0x0008a ]在C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Xaml \\ ApplyPropertiesVisitor.cs:474 03-08 11:33:12.568 I / MonoDroid(14705):位于Xamarin.Forms.ElementTemplate.CreateContent()[0x00026]在C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Core \\ ElementTemplate.cs:78 03-08 11:33:12.568 I / MonoDroid(14705):在Xamarin.Forms.DataTemplateExtensions.CreateContent(Xamarin.Forms.DataTemplate自我,System.Object项目,Xamarin.Forms.BindableObject容器)[0x00014]在C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Core \\ DataTemplateExtensions.cs:12 03-08 11:33:12.568 I / MonoDroid( 14705):位于Xamarin.Forms.TemplatedItemsLis t 2[TView,TItem].CreateContent (System.Int32 index, System.Object item, System.Boolean insert) [0x00000] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\TemplatedItemsList.cs:527 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.TemplatedItemsList 2[TView,TItem].ConvertContent (System.Int32 startingIndex, System.Collections.IList items, System.Boolean forceCreate, System.Boolean setIndex) [0x00014] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\TemplatedItemsList.cs:664 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.TemplatedItemsList 2[TView,TItem].OnProxyCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e, System.Boolean fixWindows) [0x0017e] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\TemplatedItemsList.cs:1002 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.TemplatedItemsList 2[TView,TItem].OnProxyCollectionChanged (System.Object sender, System.Collections.Specialized t 2[TView,TItem].CreateContent (System.Int32 index, System.Object item, System.Boolean insert) [0x00000] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\TemplatedItemsList.cs:527 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.TemplatedItemsList 2 [TView,TItem] .ConvertContent(System.Int32起始索引,System.Collections.IList项,System.Boolean forceCreate,System.Boolean setIndex )[0x00014]在C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Core \\ TemplatedItemsList.cs:664 03-08 11:33:12.568 I / MonoDroid(14705):在Xamarin.Forms.TemplatedItemsList 2[TView,TItem].OnProxyCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e, System.Boolean fixWindows) [0x0017e] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\TemplatedItemsList.cs:1002 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.TemplatedItemsList 2 [TView,TItem] .OnProxyCollectionChanged(System.Object发件人,System.Collections.Specialized .NotifyCollectionChangedEventArgs e) [0x00000] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\TemplatedItemsList.cs:954 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.ListProxy.OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x0000a] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\ListProxy.cs:230 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.ListProxy+<>c__DisplayClass32_0.b__0 () [0x00018] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\ListProxy.cs:203 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.ListProxy.OnCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x000a0] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\ListProxy.cs:222 03-08 11:33:12.568 I/MonoDroid(14705): at Xamarin.Forms.ListProxy+WeakNotifyProxy.OnCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEvent .NotifyCollectionChangedEventArgs e)[0x00000]在C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Core \\ TemplatedItemsList.cs:954 03-08 11:33:12.568 I / MonoDroid(14705):在Xamarin.Forms.ListProxy。 C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Core \\ ListProxy.cs:230中的OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)[0x0000a]:230 03-08 11:33:12.568 I / MonoDroid(14705):在Xamarin.Forms.ListProxy + <> c__DisplayClass32_0.b__0()[0x00018]在C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Core \\ ListProxy.cs:203 03-08 11:33:12.568 I / MonoDroid(14705) ):位于Xamarin.Forms.ListProxy.OnCollectionChanged(System.Object发送者,System.Collections.Specialized.NotifyCollectionChangedEventArgs e),位于C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Core \\ ListProxy.cs:222 03中的[0x000a0] -08 11:33:12.568 I / MonoDroid(14705):位于Xamarin.Forms.ListProxy + WeakNotifyProxy.OnCollectionChanged(System.Object发送者,System.Collections.Specialized.NotifyCollectionChangedEvent Args e) [0x00031] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Core\\ListProxy.cs:386 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.ObservableCollection 1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00012] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:288 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.ObservableCollection 1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedAction action, System.Object item, System.Int32 index) [0x00000] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:351 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.ObservableCollection 1[T].InsertItem (System.Int32 index, T item) [0x00024] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:219 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.Collection Args e)[0x00031]在C:\\ BuildAgent3 \\ work \\ ca3766cfc22354a1 \\ Xamarin.Forms.Core \\ ListProxy.cs:386 03-08 11:33:12.568 I / MonoDroid(14705):位于System.Collections.ObjectModel.ObservableCollection 1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00012] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:288 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.ObservableCollection 1 [T] .OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction操作,System.Object /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:351 03中的项目,System.Int32索引)[0x00000] -08 11:33:12.568 I / MonoDroid(14705):位于1[T].InsertItem (System.Int32 index, T item) [0x00024] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:219 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.Collection System.Collections.ObjectModel.ObservableCollection 1[T].InsertItem (System.Int32 index, T item) [0x00024] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:219 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.Collection 1[T].InsertItem (System.Int32 index, T item) [0x00024] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:219 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.Collection 1[T].Add (T item) [0x00023] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/collections/objectmodel/collection.cs:67 03-08 11:33:12.568 I/MonoDroid(14705): at ParkAndRidePrague.MainPage+d__7.MoveNext () [0x00217] in E:\\Dev\\JakubHolovskyGit\\ParkAndRidePrague\\ParkAndRidePrague\\ParkAndRidePrague\\MainPage.xaml.cs:71 03-08 11:33:12.568 I/MonoDroid(14705): --- End of stack trace from previous location where exception was thrown --- 03-08 11:33:12.568 I/MonoDroid(14705): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 03-08 11:33:12.568 I/Mo 1[T].InsertItem (System.Int32 index, T item) [0x00024] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:219 03-08 11:33:12.568 I/MonoDroid(14705): at System.Collections.ObjectModel.Collection 1处[T]。在/ Users / builder / data / lanes / 4009 / f3074d2c / source / mono / mcs / class / referencesource / mscorlib / system / collections中添加(T项)[0x00023] /objectmodel/collection.cs:67 03-08 11:33:12.568 I / MonoDroid(14705):位于ParkAndRidePrague.MainPage + d__7.MoveNext()[0x00217],位于E:\\ Dev \\ JakubHolovskyGit \\ ParkAndRidePrague \\ ParkAndRidePrague \\ ParkAndRidePrague \\ MainPage.xaml.cs:71 03-08 11:33:12.568 I / MonoDroid(14705):-从上一个引发异常的位置开始的堆栈跟踪--03-08 11:33:12.568 I / MonoDroid (14705):位于/ Users / builder / data / lanes / 4009 / f3074d2c / source / mono / mcs / class / referencesource / mscorlib / system / runtime / exceptionservices中的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()[0x0000c] /exceptionservicescommon.cs:143 03-08 11:33:12.568 I / Mo noDroid(14705): at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 03-08 11:33:12.568 I/MonoDroid(14705): at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 03-08 11:33:12.568 I/MonoDroid(14705): at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 03-08 11:33:12.568 I/MonoDroid(14705): at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /Users/builder/data/lane noDroid(14705):位于/ Users / builder / data / lanes / 4009 / f3074d2c / source / mono / mcs / class /中的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task任务)[0x00047] referencesource / mscorlib / system / runtime / compilerservices / TaskAwaiter.cs:187 03-08 11:33:12.568 I / MonoDroid(14705):位于System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task任务) /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 03-08 11:33:12.568 I /中的[0x0002e] MonoDroid(14705):位于/ Users / builder / data / lanes / 4009 / f3074d2c / source / mono / mcs / class /中的System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task任务)[0x0000b] referencesource / mscorlib / system / runtime / compilerservices / TaskAwaiter.cs:128 03-08 11:33:12.568 I / MonoDroid(14705):位于/ Users / builder中的System.Runtime.CompilerServices.TaskAwaiter.GetResult()[0x00000] /数据/车道 s/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 03-08 11:33:12.568 I/MonoDroid(14705): at ParkAndRidePrague.MainPage+d__4.MoveNext () [0x0002c] in E:\\Dev\\JakubHolovskyGit\\ParkAndRidePrague\\ParkAndRidePrague\\ParkAndRidePrague\\MainPage.xaml.cs:36 03-08 11:33:12.569 I/MonoDroid(14705): --- End of stack trace from previous location where exception was thrown --- 03-08 11:33:12.569 I/MonoDroid(14705): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 03-08 11:33:12.569 I/MonoDroid(14705): at System.Runtime.CompilerServices.AsyncMethodBuilderCore.m__0 (System.Object state) [0x00000] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1018 03-08 11:33:12.569 I s / 4009 / f3074d2c / source / mono / mcs / class / referencesource / mscorlib / system / runtime / compilerservices / TaskAwaiter.cs:113 03-08 11:33:12.568 I / MonoDroid(14705):在ParkAndRidePrague.MainPage + d__4 .E。\\ Dev \\ JakubHolovskyGit \\ ParkAndRidePrague \\ ParkAndRidePrague \\ ParkAndRidePrague \\ MainPage.xaml.cs:36中的.MoveNext()[0x0002c]:36 / 03-08 11:33:12.569 I / MonoDroid(14705):-堆栈跟踪结束从之前引发异常的位置开始--- 03-08 11:33:12.569 I / MonoDroid(14705):在/ Users / builder / data / lanes /中的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()[0x0000c] 4009 / f3074d2c / source / mono / mcs / class / referencesource / mscorlib / system / runtime / exceptionservices / exceptionservicescommon.cs:143 03-08 11:33:12.569 I / MonoDroid(14705):位于System.Runtime.CompilerServices.AsyncMethodBuilderCore .m__0(系统对象状态)[0x00000]在/Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1018 03- 08 11:33:12.569我 /MonoDroid(14705): at Android.App.SyncContext+c__AnonStorey0.<>m__0 () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Android.App/SyncContext.cs:35 03-08 11:33:12.569 I/MonoDroid(14705): at Java.Lang.Thread+RunnableImplementor.Run () [0x0000b] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36 03-08 11:33:12.569 I/MonoDroid(14705): at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in /Users/builder/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/platforms/android-25/src/generated/Java.Lang.IRunnable.cs:81 03-08 11:33:12.569 I/MonoDroid(14705): at (wrapper dynamic-method) System.Object:dad7aebb-b573-4058-885d-12720b7c63dd (intptr,intptr) / MonoDroid(14705):位于Android.App.SyncContext + c__AnonStorey0。<> m__0()/Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Android中的[0x00000] .App / SyncContext.cs:35 03-08 11:33:12.569 I / MonoDroid(14705):位于/ Users / builder / data / lanes / 4009 /中的Java.Lang.Thread + RunnableImplementor.Run()[0x0000b] 9578cdcd / source / xamarin-android / src / Mono.Android / Java.Lang / Thread.cs:36 03-08 11:33:12.569 I / MonoDroid(14705):位于Java.Lang.IRunnableInvoker.n_Run(System.IntPtr jnienv,System.IntPtr本机__this),位于/Users/builder/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/platforms/android-25/src/generation/Java.Lang.IRunnable中。[0x00009] cs:81 03-08 11:33:12.569 I / MonoDroid(14705):at(包装动态方法)System.Object:dad7aebb-b573-4058-885d-12720b7c63dd(intptr,intptr)

I had a few errors in the XAML. 我在XAML中有一些错误。 Mainly I didn't use StackLayout.Style and Style tags. 主要是我没有使用StackLayout.StyleStyle标签。 Also TargetType="{x:Type StackLayout}" was missing. 还缺少TargetType =“ {x:Type StackLayout}”

Here is the corrected XAML: 这是更正的XAML:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:ParkAndRidePrague"
             xmlns:my="clr-namespace:ParkAndRidePrague.Core.Enums;assembly=ParkAndRidePrague.Core"
             x:Class="ParkAndRidePrague.MainPage">
    <ContentPage.Content>
        <ListView  x:Name="listViewParkings">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <StackLayout BackgroundColor="#eee"
                        Orientation="Vertical">
                            <StackLayout Orientation="Horizontal">
                                <Label Margin="10, 5, 0, 5" VerticalTextAlignment="Center" Text="{Binding Name}" TextColor="Black" FontSize="20" />
                                <Label Margin="0, 5, 10, 5" VerticalTextAlignment="Center" Text="{Binding NumOfFreePlaces}" HorizontalOptions="EndAndExpand" TextColor="Black" FontSize="20" />
                                <StackLayout.Style>
                                    <Style TargetType="{x:Type StackLayout}">
                                        <Style.Triggers>
                                            <DataTrigger TargetType="{x:Type StackLayout}" Binding="{Binding Path=ParkingAvailability}" Value="{x:Static my:ParkingAvailability.Low}">
                                                <Setter Property="BackgroundColor" Value="Red" />
                                            </DataTrigger>
                                            <DataTrigger TargetType="{x:Type StackLayout}" Binding="{Binding Path=ParkingAvailability}" Value="{x:Static my:ParkingAvailability.Medium}">
                                                <Setter Property="BackgroundColor" Value="Orange" />
                                            </DataTrigger>
                                            <DataTrigger TargetType="{x:Type StackLayout}" Binding="{Binding Path=ParkingAvailability}" Value="{x:Static my:ParkingAvailability.High}">
                                                <Setter Property="BackgroundColor" Value="Green" />
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>
                                </StackLayout.Style>
                            </StackLayout>
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </ContentPage.Content>
</ContentPage>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM