我有一个像这样的转换器列表
<ListView ItemsSource="{Binding Availability, Converter={StaticResource AvailabilityConverter}}">
<ListView.ItemTemplate>
<DataTemplate>
<ContentView>
<ContentView.Content>
<StackLayout>
<Label Text="{Binding DateTime.TimeOfDay}" />
</StackLayout>
</ContentView.Content>
</ContentView>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这里是转换器
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is IEnumerable<Availability>)
{
var availability = (List<Availability>)value;
foreach (var day in availability)
{
//Manipulate the list in here
}
return availability;
}
return value;
}
可用性是DateTimes的列表
我希望能够在转换器中编写一些业务逻辑,以便在返回列表之前在此处处理列表,但是执行该列表时会遇到System.InvalidCastException。
答案 0 :(得分:0)
我认为该异常来自格式错误的xaml。 您正在使用自定义单元格,它必须从ViewCell派生。
您的xaml必须看起来像这样:
<ListView ItemsSource="{Binding Availability, Converter={StaticResource AvailabilityConverter}}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ContentView>
<ContentView.Content>
<StackLayout>
<Label Text="{Binding DateTime.TimeOfDay}" />
</StackLayout>
</ContentView.Content>
</ContentView>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>