Xamarin.Forms 1.4.3 Released

TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

Please make sure you update to the latest version of Xamarin when using this release.


  • Android ActivityIndicator Color property now works for Android 5.0+
  • WinPhone 8.0 ActivityIndicator Color property now works
  • [WinRT] Now properly supports Color.Accent
  • [WinRT] Assorted performance and correctness fixes
  • [WinRT] PageRenderer.OnElementChanged is now virtual
  • [Android] Properly support DatePicker.MinimumDate and DatePicker.MaximumDate
  • [Xaml] Speed up parsing/understand of predefined colors by removing reflection
  • [Docs] Add documentation for missing summaries
  • [Core] Binding now supports binding to dynamic objects, such a json objects.

API Changes

Xamarin.Forms.ItemsView now contains a protected virtual void UnhookContent (TVisual content) method. This method is used for unhooking or otherwise cleaning content after usage. While the risk is low, this can be a breaking change for you app if you happen to have provided a method with the same name and the same parameters on a subclass of ItemsView, e.g. ListView. Please check your code if this is the case.

Bug Fixes

  • Bug 31029 - [Windows Phone 8.1]Generating an Image via MemoryStream does not appear
  • Bug 30935 - NullReferenceException in ViewRenderer<TView, TNativeView> (Xamarin.Forms.Platform.Android)
  • Bug 30861 - Entry text has wrong default value on Android
  • Bug 30251 - MasterDetail page's right area of detail page cannot receive touch on spit mode
  • Bug 30169 - Compiled form with a dynamic resource reference throws a BindableObject:SetDynamicResource exception
  • Bug 30074 - Multiple DataTriggers on same data bound property don't always trigger (XAML)
  • Bug 29861 - latest pre-release screws up breakpoint debugging
  • Bug 29508 - [WinPhone] Clicking back button twice quickly form second page to exit app causes app to crash.
  • Bug 29453 - Navigation.PopAsync(false) in Entry.Completed handler => System.ArgumentException
  • Bug 29363 - Pushing and then popping a page modally in succession causes an exception.
  • Bug 29344 - Fix crash in messaging center / unsubscribe on callback - TableView Collection was modified enumeration operation may not execute
  • Bug 29270 - Xamarin.Forms OpenGlView is broken
  • Bug 29247 - iOS Device.OpenUri breaks with encoded params
  • Bug 29229 - Fix crash on ListView on Windows Phone
  • Bug 29128 - If VerticalOptions not explicitly set on a Slider on Android, the two parts of the Slider are separated when drawn
  • Bug 29107 - ScrollView text overlaps
  • Bug 29017 - Pin Clicked does not fire (iOS at least)
  • Bug 28952 - NullReferenceException when setting MainPage for first time in OnStart
  • Bug 28901 - WebView not allowing DOM Storage
  • Bug 28821 - Application crashes when ContentPage in TabbedPage has its IsVisible property set to false.
  • Bug 28796 - Crash on Tab change
  • Bug 28765 - Slider Value property binds OneWay by default
  • Bug 28689 - Xaml: Type argument mandatory for x:Array extension
  • Bug 28575 - listview header set to null
  • Bug 28545 - AbsoluteLayout attributes don't work in a style
  • Bug 28335 - NRE when pushing/popping a page quickly
  • Bug 28045 - [Android] ImageRenderer assumes that the control is a FormsImageView
  • Bug 28001 - TabbedPage: invisible tabs are not Disposed
  • Bug 27968 - Resource dictionary throws an Exception when inheriting from a subclass of ContentPage
  • Bug 27779 - Xamarin.Forms.ReadOnlyListAdapter.IndexOf throws NotImplementedExcpetion
  • Bug 27661 - ViewCell IsEnabled set to false does not disable a cell in a TableView
  • Bug 27606 - MasterDetailPage Detail is interactive even when Master is open when in Landscape
  • Bug 27537 - DatePicker control does not behave as other picker controls
  • Bug 27526 - Type ConstraintExpressionExtension not found in xmlns
  • Bug 27270 - Add GeneratedCodeAttribute to generated partial classes
  • Bug 27229 - Failure with SetBinding / [C] Allow Convert in path expressions
  • Bug 26455 - Color GetHashCode returns wrong results
  • Bug 26418 - [Android] ListView does not update when the bound ObservableCollection changes
  • Bug 25845 - Unhandled exception finalizing ListViewAdapter on Android
  • Bug 25662 - Setting IsEnabled does not disable SwitchCell in Forms listview
  • Bug 25400 - XAML x:TypeArguments does not support nested generic types
  • Bug 24910 - Nullable properties throw Property not found exception
  • Bug 24871 - Picker value doesn't get updated when Android "reuses" an old control
  • Bug 24258 - Xamlg issue when declaring generics separated by a space
  • Bug 21744 - Carousel Page iOS CurrentPage bug
  • Bug 28364 - Listview.FooterTemplate cause NullReferenceException
  • Bug 28345 - Android crash on listview press hold and swipe
  • Bug 28191 - Java.Lang.NullPointerException in TabbedPage
  • Bug 28119 - Disabling Editor in iOS does not disable entry of text
  • Bug 27234 - ViewCell background conflicts with ListView Semi-Transparent and Transparent backgrounds
  • Bug 28242 - CarouselPage Disappearing event does not fire on Android
  • Bug 27951 - Sample 'WorkingWithListviewNative' throw Exception on Xam.Android project.
  • Bug 27976 - [Android] MasterDetail NavigationDrawer Does Not Hide On DoubleTap of Item
  • Bug 28424 - [Android][WinPhone] When setting the minimum and maximum date for a date picker, only allow valid dates to be seen/selected from the DatePicker dialog.
  • Bug 27766 - On Android, button background is not updated when color changes
  • Bug 27689 - GroupHeaderCells disappear when item is removed from a group in ListView (iOS only)
  • Bug 29158 - XF for WP8.1RT - BeginInvokeOnMainThread generates NullReferenceException
  • Bug 28390 - ListView - jump list always shows on WPhone, even without GroupShortNameBinding

Other Fixes

  • [Android] - Right edge of MasterDetailPage on tablet now handles touches
  • [WinRT] - First page of TabbedPage doesn't show up until a move or swipe
  • [WinRT] - ListView.ItemTapped does not fire for already selected items
  • [WinRT] - ListView now support tapping on the same item multiple times
  • [WinRT] - ListView supports selected color
  • [WinRT] - CellControl unloads cell directly rather using DataContext as Cell
  • [iOS] - Fix UserLocation showing as Pin
  • [Packaging] - Fix a minor packaging issue
  • [Core] - ListView no longer leaks cells for items that have been removed from the ItemsSource
  • [Core] Fix corner case where PushModalAsync could end up pushing pages in the wrong order.
  • [WinRT] Page.Disappearing now works correctly
  • [WinRT] NavigationPage.Padding now respected correctly
  • [WinRT] Various fixes for Page.IsBusy
  • [WinRT] TabbedPage no correctly lays out children
  • [Android] ScrollTo no longer off by one in ListView using Headers
  • [Android] Fix crash when using non-existent image as the Icon for a ToolbarIcon
  • [Android] Add some missing warning messages
  • [Android] Fix crash with malformed ViewCells
  • [iOS] Default Keyboard now matches platform default
  • [iOS] Fix crash when dismissing popover from ContextActions

There are additional internal fixes and correctness changes. If your bug is not listed here please re-verify against this release. Unfortunately due to the number of issues resolved we are certain we missed some compiling the notes, we apologize.



  • JoeBoothJoeBooth USMember ✭✭

    @TheRealJasonSmith - is this the same as 1.4.3-pre3 ?

  • AndrewMobileAndrewMobile USMember ✭✭✭✭


  • LGMaestrelliLGMaestrelli BRMember ✭✭✭


  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @JoeBooth for the most part. Fixes a minor issue with Android API 14/15, fixes packaging, and fixes a bug that cropped up.

  • DirkWeltzDirkWeltz DEMember ✭✭✭

    @TheRealJasonSmith Means "fixes packaging" that nuget now works correct again?

  • BradChase.2654BradChase.2654 USMember ✭✭✭

    Ruhh rohhh. I have an issue with loading my application now. At LoadApplication in android I get this error and then it bombs out:
    System.MissingMethodException: Method 'ProgressBar.set_IndeterminateTintList' not found.

    Anyone else getting this after upgrading?

  • EricMaupinEricMaupin USXamarin Team Xamurai
    edited June 2015

    Ruhh rohhh. I have an issue with loading my application now. At LoadApplication in android I get this error and then it bombs out:
    System.MissingMethodException: Method 'ProgressBar.set_IndeterminateTintList' not found.

    What target/compile version of Android is your app set to? It should be "Use Latest Platform" or at least API Level 21. (Note this is not the same as the minimum that your app supports.)

  • BradChase.2654BradChase.2654 USMember ✭✭✭

    @ermau, BINGO! That was it. I had my api version set to 19 because I was targeting a kitkat build. I upped it to 21 with minimum of 19. Thanks a ton! I would never have figured that out.

  • BradChase.2654BradChase.2654 USMember ✭✭✭

    AHAHHA YEEESSSSS!!!! All those annoying An Unhandled Exception has occured are gone!!! WOOOP! I am still getting all the "Exception: System.NullReferenceException: Object reference not set to an instance of an object" on binding property changes but heck ya!

  • DavidDancyDavidDancy AUMember ✭✭✭✭

    That is a very impressive bug fix list.

  • NMackayNMackay GBInsider, University mod


    Great work by the Forms team.

  • AlessandroCaliaroAlessandroCaliaro ITMember ✭✭✭✭✭

    The bug 28575 (about list view.header = null) now is solved, but I have a problem setting the header (or I have not understand how it works).
    This is only for iOS.

    I have a Page with a listview and 2 buttons. The first button SET the list view header to a label (or to a string ...), the seconds set the header to null.

    In Android, it's all Ok.
    In iOS, setting the header to a string give no result.
    Setting the header to label, the first time do nothing. The second time, throw an exception (if i have not clicked the "Unset" button first)

    System.InvalidCastException: Unable to cast object of type 'Xamarin.Forms.ListView' to type 'Xamarin.Forms.Label'.
    at at (wrapper castclass) object:__castclass_with_cache (object,intptr,intptr)
    at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1[Xamarin.Forms.Label].Xamarin.Forms.Platform.iOS.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00000] in :0
    at Xamarin.Forms.Platform.iOS.ListViewRenderer.UpdateHeader () [0x0006e] in :0
    at Xamarin.Forms.Platform.iOS.ListViewRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00124] in :0
    at at (wrapper delegate-invoke) :invoke_void_object_PropertyChangedEventArgs (object,System.ComponentModel.PropertyChangedEventArgs)
    at Xamarin.Forms.BindableObject.OnPropertyChanged (System.String propertyName) [0x00012] in :0
    at Xamarin.Forms.ListView.OnHeaderOrFooterChanged (Xamarin.Forms.Element& storage, System.String property, System.Object dataObject, Xamarin.Forms.DataTemplate template, Boolean templateChanged) [0x00054] in :0
    at Xamarin.Forms.ListView.OnHeaderChanged (Xamarin.Forms.BindableObject bindable, System.Object oldValue, System.Object newValue) [0x0001a] in :0
    at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty property, Xamarin.Forms.BindablePropertyContext context, System.Object value, Boolean currentlyApplying, SetValueFlags attributes, Boolean silent) [0x00112] in :0
    at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty property, System.Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes) [0x00235] in :0
    at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindableProperty property, System.Object value, Boolean fromStyle, Boolean checkAccess) [0x00061] in :0
    at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindableProperty property, System.Object value) [0x00000] in :0
    at Xamarin.Forms.ListView.set_Header (System.Object value) [0x00000] in :0
    at TestLvHeader.App+c__AnonStorey0.<>m__0 (System.Object sender, System.EventArgs e) [0x00033] in /Users/alessandrocaliaro/Projects/Test/TestLvHeader/TestLvHeader/TestLvHeader.cs:28
    at Xamarin.Forms.Button.Xamarin.Forms.IButtonController.SendClicked () [0x00020] in :0
    at Xamarin.Forms.Platform.iOS.ButtonRenderer.OnButtonTouchUpInside (System.Object sender, System.EventArgs eventArgs) [0x0000e] in :0
    at UIKit.UIControlEventProxy.Activated () [0x00007] in /Users/builder/data/lanes/1926/6916d0e3/source/maccore/src/UIKit/UIControl.cs:34
    at at (wrapper managed-to-native) UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
    at UIKit.UIApplication.Main (System.String[] args, IntPtr principal, IntPtr delegate) [0x00005] in /Users/builder/data/lanes/1926/6916d0e3/source/maccore/src/UIKit/UIApplication.cs:63
    at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00038] in /Users/builder/data/lanes/1926/6916d0e3/source/maccore/src/UIKit/UIApplication.cs:47
    at TestLvHeader.iOS.Application.Main (System.String[] args) [0x00008] in /Users/alessandrocaliaro/Projects/Test/TestLvHeader/iOS/Main.cs:17

            Button bSet = new Button();
            bSet.Text = "Set";
            bSet.Clicked += (object sender, EventArgs e) =>{ 
                Label label = new Label();
                label.Text = "SETTED";
                label.HorizontalOptions = LayoutOptions.CenterAndExpand;
                label.FontSize = 10;
            //lv.Header = "SSS";
                lv.Header = label;
            Button bUnset = new Button();
            bUnset.Text = "Unset";
            bUnset.Clicked += (object sender, EventArgs e) => lv.Header = null;

    A demo project is ready...
    Do I have to open a bug?

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    There is a hotfix coming in shortly to resolve a potential crasher. Technically this is not a regression fix since the bug predates 1.4.3, however a different bug fix has made it easier to trigger this other issue. Therefor we are going to publish a hotfix as soon as it is available.

  • KeithRomeKeithRome USUniversity ✭✭
    edited July 2015

    (please disregard - cleared up in follow-up posts)

    Minor behavior change - Entry controls now seem to have CapitalizeSentence flag set on their keyboard. I haven't found a way to override this (aside from a custom renderer). I could use Keyboard.Create(flags) to override it if there was a KeyboardFlags.None, but there isn't.

    It's not a huge new bug but quite annoying for me since it hits the very first field in an app (case-sensitive login).

    I do appreciate all of the stability improvements though. Looking forward especially to fewer random navigation crashes in WinPhone.

  • Shane000Shane000 USMember ✭✭✭

    Hey @KeithRome they fixed a bug with keyboards not being able to have an empty flag in this version. Try passing in 0 as the value instead of a flag. Keyboard.Create(0);

  • KeithRomeKeithRome USUniversity ✭✭

    Thanks @ShanePope - Xamarin Studio didn't like that (displays the red error squiggle), so I assumed that it wouldn't even compile. Sure enough though, it seems to be fine.

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @KeithRome can you please explain what was broken for you? If there was a behavioral change beyond what we expected I would very much like to know, if for no other reason than to make sure it is documented.

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @AlessandroCaiora looks to be a simple enough issue. The renderer is probably not quite handling null correctly.

  • RogerSchmidlinRogerSchmidlin CHUniversity ✭✭✭

    @TheRealJasonSmith The WebView is still the same and hasn't been touched (other than one bug) even though you and some other Xamarin people have told me to look into this. In particular I am talking about the bug https://bugzilla.xamarin.com/show_bug.cgi?id=29139. I tested the bug again, against the new Forms release. It works on newer android devices, doesn't work on android and iOS simulators at all and on older android devices it doesn't even work to call a simple link. Please see my updated bug entry for details. I have been waiting for months now and was always told to wait for this Forms release. I can't release my app because of this! Please respond. I am happy for you to respond in my bugzilla bug entry.

  • KeithRomeKeithRome USUniversity ✭✭

    @TheRealJasonSmith: the default Keyboard for Entry controls appears to have changed between 1.4.2 and 1.4.3. In 1.4.2, the default behavior was to not enable auto capitalize, but in 1.4.3 the behavior is the same as setting Keyboard to Keyboard.Create(KeyboardFlags.CapitalizeSentence). I didn't see this mentioned in the release notes so was not expecting it.

    Shane Pope pointed out that I can work around this by setting MyEntryControl.Keyboard = Keyboard.Create(0); in the code-behind. That workaround is valid and has resolved my problem.

    Xamarin Studio still doesn't like it though, and reports an IDE error complaining about not being able to implicitly convert 'int' to 'KeyboardFlags'. A hard cast might get it to stop complaining (I didn't try that - it still compiles just fine even with the IDE error).

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @RogerSchmidlin yes the webview is still in progress. The bug was reported 6 weeks ago and was rated as a medium priority to you for some reason. I don't know why. I have modified this property as this is clearly not the case. That said this category of bug is not going to outrank crash fixes.

    @KeithRome yes the hard cast will resolve the whining from XS. I will look into the change and make sure it's what we intended (I simply don't remember right now, but I believe it is changed for consistency).

  • RogerSchmidlinRogerSchmidlin CHUniversity ✭✭✭
    edited July 2015

    @TheRealJasonSmith try 11 weeks since I reported it. and I talked with you guys way before that. And it does crash my app on the android simulators and does not work at all on older android devices, see my log in bugzilla. So I think it is quite critical and long due. I think you might have looked at the wrong bug, the priority hasn't changed on mine

  • RogerSchmidlinRogerSchmidlin CHUniversity ✭✭✭

    My app crashes now with following exception: Method 'ProgressBar.set_IndeterminateTintList' not found.
    Were there any changes to the "ActivityIndicator"?

  • DH_HA1DH_HA1 USMember ✭✭✭

    @TheRealJasonSmith seeing an error on iOS using PopModalAsync since upgrading to 1.4.3. It appears to happen on the second time I open a modal. This is crashing my app and I will have to downgrade.

    at System.ThrowHelper.ThrowArgumentOutOfRangeException () [0x00000] in /Users/builder/data/lanes/1880/ef8c2f77/source/mono/external/referencesource/mscorlib/system/throwhelper.cs:56 
      at System.Collections.Generic.List`1[Xamarin.Forms.Page].get_Item (Int32 index) [0x0000c] in /Users/builder/data/lanes/1880/ef8c2f77/source/mono/external/referencesource/mscorlib/system/collections/generic/list.cs:199 
      at Xamarin.Forms.NavigationProxy.PopModal () [0x00013] in <filename unknown>:0 
      at Xamarin.Forms.NavigationProxy.OnPopModal (Boolean animated) [0x00012] in <filename unknown>:0 
      at Xamarin.Forms.NavigationProxy.PopModalAsync (Boolean animated) [0x00000] in <filename unknown>:0 
  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @DH_HA do you have any method to reproduce this?

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai
    edited July 2015

    @RogerSchmidlin right you are! I misread the timestamp, my mistake! I see now its causing crashers for you, I have adjusted its priority.

    EDIT - I just validated the cause of the navigation issues and the crashes. The crash is an android issue on the sim. The navigation issues is because the nav is being done by updating the url via javascript. This is currently unsupported. I have modified the bug to reflect the feature request.

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai
    edited July 2015

    @RogerSchmidlin that error with ProgressBar.set_IndeterminateTintList happens if you are not compiling against the latest version of Android. See @ermau's post above.

  • DirkWeltzDirkWeltz DEMember ✭✭✭

    @TheRealJasonSmith It seems, that I have problems with ListView and IsVisible on an iOS device with iOS 7.1.1. If a ListView is set to IsVisible=true, the content isn't redrawn correct. There are some entries missing at the bottom. To be correct, if I set IsVisble from false to true, the whole (old) content is shown and than the ListView is redrawn and the 2 last entries are gone. If I select an entry, the last 2 entries are redrawn again. If I move the content of the ListView or select an entry, the missing entries are drawn. Tapping in the free part of the ListView doesn't change anything.

    I try to test it on the simulator with 8.3 too.

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    do you have a reproduction case?

  • OtaMaresOtaMares DEMember ✭✭

    @TheRealJasonSmith You guys should update your copyright timespan ;) https://www.nuget.org/packages/Xamarin.Forms/

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    ROFL thanks

  • NMackayNMackay GBInsider, University mod


    Just to make you aware when I updated to forms 1.4.3 my Android app no longer compiles, the error is "java.exe" exited with code 2.

    Don't know if it's to do with the method limit mentioned in this article.

    I'm using the 3.11.666 stable build.

    It compiled okay in the previous stable release.

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @NMackay more likely you are running through your max java heap size. Just open the android project properties and give it 2G

  • NMackayNMackay GBInsider, University mod


    It doesn't like a 2GB heap size, it was set to 1GB.

    Error 14 Could not create the Java Virtual Machine. .Android\COMPILETODALVIK .Droid
    Error 15 A fatal exception has occurred. Program will exit. .Android\COMPILETODALVIK .Droid

    I got round it by removing most of the Google play services. Completely removed Forms & Maps from droid, cleaned, restarted VS and added Forms and Maps via the Solution Nuget manager and it just added the maps libraries rather than the whole plethora of Google Play libs.

    Thanks for getting back to me. Thought I'd post it here in case anyone else ran into that issue.

  • DirkWeltzDirkWeltz DEMember ✭✭✭

    @TheRealJasonSmith Sorry, I don't have a usecase, but I created a movie from my app. How you could see, the ListView isn't full drawn. The lower part is empty.

    I use a StackLayout, which contains four different entries (StackLayout, Label, ListView, MapView), which are visible regarding the buttons below the field. If you select a ListView entry, a new Page is displayed.

    I hope, this is enough.

    Thank you very much for your help and your and your team great work.

  • AnthonyRamirezAnthonyRamirez USUniversity ✭✭✭

    @TheRealJasonSmith and team, thanks for focus on fixing issues. It's GREATLY appreciated. :smiley:

  • DH_HA1DH_HA1 USMember ✭✭✭

    @TheRealJasonSmith I will see if I can work up a small sample to repo

  • PatrickKellyPatrickKelly USUniversity ✭✭

    This Release fixed all my bugs and I can go Live now! Thanks for focusing on Crashes and Bugs!

  • LesterMeeksLesterMeeks USMember ✭✭

    Now the ListView is actually working worse in my app. Replacing an item on the fly with groups, and uneven rows. Previously this configuration would leave the custom headers blank periodically, now the headers are working but the cells are blank. Sweet.

  • WesselOosthuizenWesselOosthuizen USMember ✭✭

    After installing this new release, I have an issue with listview.

    After I navigate to a page where I have a listview for the first time, and tap on the items, the itemtapped event is fired correctly and everything workes just fine.

    However when I leave this page, by navigating backwards, then come back to the page, the itemtapped event is not fired on some of the items. When I come back to the page a third time, none of the itemtapped events are fired on any of the items.

    I am using masterdetail navigation.

Sign In or Register to comment.