In my XAML code behind file I listen to the view model's PropertyChanged event and do this:
// This is needed because CarouselView.Loop does not seem to listen to the binding change correctly.
private void OffersPage_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if(e.PropertyName == nameof(OffersViewModel.LoopCarousel)) {
carousel.Loop = ((OffersViewModel)BindingContext).LoopCarousel;
}
}
Description
If you have a
CarouselView
and bind theLoop
property to a property in you view model, it does not properly detect if that value changes.Steps to Reproduce
CarouselView
in it.Loop
property likeLoop="{Binding LoopCarousel}"
.Expected Behavior
When the bound property's value changes, the
CarouselView
should adjust.Actual Behavior
It does not detect the changed value.
Basic Information
Environment
Show/Hide Visual Studio info
``` === Visual Studio Community 2019 for Mac === Version 8.8.7 (build 18) Installation UUID: 31691d7a-f24d-4bdf-8e0f-8ea9a4f8380a GTK+ 2.24.23 (Raleigh theme) Xamarin.Mac 6.18.0.23 (d16-6 / 088c73638) Package version: 612000113 === Mono Framework MDK === Runtime: Mono 6.12.0.113 (2020-02/4fdfb5b1fd5) (64-bit) Package version: 612000113 === Roslyn (Language Service) === 3.8.0-5.20519.18+4c195c3ac1974edcefa76774d7a59a2350ec55fa === NuGet === Version: 5.8.0.6860 === .NET Core SDK === SDK: /usr/local/share/dotnet/sdk/5.0.102/Sdks SDK Versions: 5.0.102 5.0.101 5.0.100 3.1.405 3.1.404 MSBuild SDKs: /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/Sdks === .NET Core Runtime === Runtime: /usr/local/share/dotnet/dotnet Runtime Versions: 5.0.2 5.0.1 5.0.0 3.1.11 3.1.10 === .NET Core 3.1 SDK === SDK: 3.1.405 === Xamarin.Profiler === Version: 1.6.15.68 Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler === Updater === Version: 11 === Apple Developer Tools === Xcode 12.4 (17801) Build 12D4e === Xamarin.Mac === Version: 7.2.0.3 (Visual Studio Community) Hash: c51fabee8 Branch: xcode12.3 Build date: 2020-12-10 21:05:04-0500 === Xamarin.iOS === Version: 14.8.0.3 (Visual Studio Community) Hash: c51fabee8 Branch: xcode12.3 Build date: 2020-12-10 21:05:05-0500 === Xamarin Designer === Version: 16.8.0.510 Hash: 44e3f3ce9 Branch: remotes/origin/d16-8 Build date: 2020-12-10 00:06:14 UTC === Xamarin.Android === Version: 11.1.0.26 (Visual Studio Community) Commit: xamarin-android/d16-8/a36ce73 Android SDK: /Users/rainer/Library/Developer/Xamarin/android-sdk-macosx Supported Android versions: None installed SDK Tools Version: 26.1.1 SDK Platform Tools Version: 30.0.4 SDK Build Tools Version: 29.0.3 Build Information: Mono: 5e9cb6d Java.Interop: xamarin/java.interop/d16-8@79d9533 ProGuard: Guardsquare/proguard/proguard6.2.2@ebe9000 SQLite: xamarin/sqlite/3.32.1@1a3276b Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-8@2fb1cbc === Microsoft OpenJDK for Mobile === Java SDK: /Users/rainer/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.25 1.8.0-25 Android Designer EPL code available here: https://github.com/xamarin/AndroidDesigner.EPL === Android SDK Manager === Version: 16.8.0.32 Hash: 01a7774 Branch: remotes/origin/d16-8 Build date: 2021-01-14 00:34:58 UTC === Android Device Manager === Version: 16.8.0.46 Hash: 0a81419 Branch: remotes/origin/d16-8 Build date: 2021-01-14 00:35:22 UTC === Build Information === Release ID: 808070018 Git revision: 0f6def3c0ff5f9cee230e65718561cb41c8eedc0 Build date: 2021-01-29 08:24:09-05 Build branch: release-8.8 Xamarin extensions: 0f6def3c0ff5f9cee230e65718561cb41c8eedc0 === Operating System === Mac OS X 10.16.0 Darwin 20.3.0 Darwin Kernel Version 20.3.0 Thu Jan 21 00:07:06 PST 2021 root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64 === Enabled user installed extensions === Code Coverage 1.1 XAML Styler 2.0.1```Workaround
In my XAML code behind file I listen to the view model's
PropertyChanged
event and do this: