Currently my code doesn't too different from the example, as far as basic set up goes. The main issue is that when I add items to the ObservableCollection everything works fine, but when I remove items from it/set the collection to a new collection, the changes the items are not removed from the UI, but the new items are added
<syncfusion:SfAccordion x:Name="onSiteHourAccordion"
DynamicSizeMode="Content"
ExpandMode="Single"
VerticalOptions="FillAndExpand"
BindableLayout.ItemsSource="{Binding CurrentOnSiteHours}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<syncfusion:AccordionItem>
<syncfusion:AccordionItem.Header>
<Grid BackgroundColor="{DynamicResource GridSecondaryBackground}">
<Label HeightRequest="50"
Text="{Binding UserOnJob.UserName}"
TextColor="{DynamicResource MainTextColor}"
VerticalTextAlignment="Center" />
</Grid>
</syncfusion:AccordionItem.Header>
<syncfusion:AccordionItem.Content>
<StackLayout>
<FlexLayout JustifyContent="SpaceAround">
<StackLayout>
<Label HorizontalTextAlignment="Center"
TextColor="{DynamicResource AccentColor}"
FontAttributes="Bold"
TextDecorations="Underline"
Text="Name" />
<Picker BackgroundColor="{DynamicResource GridSecondaryBackground}"
ItemsSource="{Binding BindingContext.UsersOnJob, Mode=TwoWay, Source={x:Reference onSiteHourAccordion}}"
ItemDisplayBinding="{Binding UserName}"
SelectedItem="{Binding UserOnJob}"
TextColor="{DynamicResource MainTextColor}"
IsEnabled="{Binding BindingContext.ReportSubmitted, Source={x:Reference onSiteHourAccordion}, Converter={StaticResource invertBool}}" />
</StackLayout>
<StackLayout>
<Label HorizontalTextAlignment="Center"
TextColor="{DynamicResource AccentColor}"
FontAttributes="Bold"
TextDecorations="Underline"
Text="Date" />
<DatePicker BackgroundColor="{DynamicResource GridSecondaryBackground}"
Date="{Binding Date, Mode=TwoWay}"
TextColor="{DynamicResource MainTextColor}"
IsEnabled="{Binding BindingContext.ReportSubmitted, Source={x:Reference onSiteHourAccordion}, Converter={StaticResource invertBool}}" />
</StackLayout>
</FlexLayout>
<FlexLayout JustifyContent="SpaceAround">
<StackLayout>
<Label HorizontalTextAlignment="Center"
TextColor="{DynamicResource AccentColor}"
FontAttributes="Bold"
TextDecorations="Underline"
Text="Client In Time" />
<TimePicker BackgroundColor="{DynamicResource GridSecondaryBackground}"
Time="{Binding ClientInTimeSpan, Mode=TwoWay}"
TextColor="{DynamicResource MainTextColor}"
IsEnabled="{Binding BindingContext.ReportSubmitted, Source={x:Reference onSiteHourAccordion}, Converter={StaticResource invertBool}}" />
</StackLayout>
<StackLayout>
<Label HorizontalTextAlignment="Center"
TextColor="{DynamicResource AccentColor}"
FontAttributes="Bold"
TextDecorations="Underline"
Text="Staff Same" />
<CheckBox x:Name="inTimeCheckBox"
IsChecked="{Binding ClientInStaffSame, Mode=TwoWay}"
HorizontalOptions="Center"
IsEnabled="{Binding BindingContext.ReportSubmitted, Source={x:Reference onSiteHourAccordion}, Converter={StaticResource invertBool}}">
<CheckBox.Behaviors>
<behaviors:CheckBoxBehavior Command="{Binding BindingContext.ClientInStaffSameCommand, Source={x:Reference onSiteHourAccordion}}"
CommandParameter="{Binding OnSiteHoursID}" />
</CheckBox.Behaviors>
</CheckBox>
</StackLayout>
</FlexLayout>
<FlexLayout JustifyContent="SpaceAround">
<StackLayout>
<Label HorizontalTextAlignment="Center"
TextColor="{DynamicResource AccentColor}"
FontAttributes="Bold"
TextDecorations="Underline"
Text="Client Out Time" />
<TimePicker x:Name="outTimePicker"
BackgroundColor="{DynamicResource GridSecondaryBackground}"
Time="{Binding ClientOutTimeSpan, Mode=TwoWay}"
TextColor="{DynamicResource MainTextColor}"
IsEnabled="{Binding BindingContext.ReportSubmitted, Source={x:Reference onSiteHourAccordion}, Converter={StaticResource invertBool}}" />
</StackLayout>
<StackLayout>
<Label HorizontalTextAlignment="Center"
TextColor="{DynamicResource AccentColor}"
FontAttributes="Bold"
TextDecorations="Underline"
Text="Staff Same" />
<CheckBox x:Name="outTimeCheckbox"
IsChecked="{Binding ClientOutStaffSame, Mode=TwoWay}"
HorizontalOptions="Center"
IsEnabled="{Binding BindingContext.ReportSubmitted, Source={x:Reference onSiteHourAccordion}, Converter={StaticResource invertBool}}">
<CheckBox.Behaviors>
<behaviors:CheckBoxBehavior Command="{Binding BindingContext.ClientOutStaffSameCommand, Source={x:Reference onSiteHourAccordion}}"
CommandParameter="{Binding OnSiteHoursID}" />
</CheckBox.Behaviors>
</CheckBox>
</StackLayout>
</FlexLayout>
<FlexLayout JustifyContent="SpaceAround">
<StackLayout>
<Label HorizontalTextAlignment="Center"
HorizontalOptions="Center"
TextColor="{DynamicResource AccentColor}"
FontAttributes="Bold"
TextDecorations="Underline"
Text="In Time" />
<TimePicker BackgroundColor="{DynamicResource GridSecondaryBackground}"
Time="{Binding InTimeSpan, Mode=TwoWay}"
TextColor="{DynamicResource MainTextColor}"
IsEnabled="{Binding EnableInTime, Mode=TwoWay}" />
</StackLayout>
<StackLayout>
<Label HorizontalTextAlignment="Center"
HorizontalOptions="Center"
TextColor="{DynamicResource AccentColor}"
FontAttributes="Bold"
TextDecorations="Underline"
Text="Out Time" />
<TimePicker Time="{Binding OutTimeSpan, Mode=TwoWay}"
TextColor="{DynamicResource MainTextColor}"
BackgroundColor="{DynamicResource GridSecondaryBackground}"
IsEnabled="{Binding EnableOutTime, Mode=TwoWay}" />
</StackLayout>
</FlexLayout>
</StackLayout>
</syncfusion:AccordionItem.Content>
</syncfusion:AccordionItem>
</DataTemplate>
</BindableLayout.ItemTemplate>
</syncfusion:SfAccordion>