locked
Xamarin.Forms 1.3.0 Released RRS feed

  • Question

  • User352 posted

    Important notes:

    • Generators for XAML pages should to be updated to use the new tool MSBuild:UpdateDesignTimeXaml instead of MSBuild:Compile
    • Grid default is now *
    • This release does not contain support for iOS 64bit. If you need iOS 64bit support please use Xamarin.Forms 1.3.1-pre1. It is otherwise identical to 1.3.0, however it requires Xamarin.iOS 8.6, which is available in the beta channel.

    New API and Enhancements

    • Add MasterDetailPage.ShouldShowToolbarButton method to enable control over the appearance of the toolbar button.
    • Device.GetNamedSize (NamedSize size, Type targetType); Same as Device.GetnamedSize (NamedSize size, Element element) but doesn't require an instance.
    • MasterDetailPage.MasterBehavior : Used to control how the MasterDetailPage renderers the split view between the Master and Detail. Allowed values are:

    public enum MasterBehavior { Default, SplitOnLandscape, Split, Popover, SplitOnPortrait }

    • VisualElement.Navigation now contains overloads for all Pushing and Popping methods that accept a boolean parameter to enable/disable animations.
    • INavigation contains methods needed for more complex navigation scenarios:

      public interface INavigation
      {
          IReadOnlyList<Page> NavigationStack { get; }
          IReadOnlyList<Page> ModalStack { get; }
      
          void RemovePage (Page page);
          void InsertPageBefore (Page page, Page before);
      
          Task PushAsync (Page page);
          Task<Page> PopAsync ();
          Task PopToRootAsync ();
          Task PushModalAsync (Page page);
          Task<Page> PopModalAsync ();
      
          Task PushAsync (Page page, bool animated);
          Task<Page> PopAsync (bool animated);
          Task PopToRootAsync (bool animated);
          Task PushModalAsync (Page page, bool animated);
          Task<Page> PopModalAsync (bool animated);
      }
      
    • New Application class to replace previous methods of turning a Page into a platform specific object.

    • New member on Page: protected virtual bool OnBackButtonPressed (): Override in order to handle physical back button press events. Events bubble down from root page and back up. Unhandled back button events will cause the app to exit. NavigationPage and the Platform still handle the back button as expected, however it is now possible to intercept and modify these behaviors. Not overriding this method retains the existing back button behavior.
    • DependencyService now has Register methods for users needing more advanced ways to register dependencies.
    • WidthRequest, HeightRequest, MinimumWidthRequest, and MinimumHeightRequest are now BindableProperties
    • IViewController, IVisualElementController, and IElementController now available and explicitly implemented on VisualElement. These interfaces will eventually replace all internal API's currently used to communicate between platform renderers and the frontend API.
    • IElementController.SetValueFromRenderer allows for updating of BindableProperties from renderers without accidentally clearing bindings.
    • XAML now supports text as the content node in Label: <Label>Hello World</Label>
    • Pin now has a Clicked property for detecting when the user taps or clicks on a Map pin after the information window is visible.
    • Layout constructor is now marked protected and not internal
    • Styles support Behaviors and Triggers
    • DataTrigger and MultiTrigger added
    • VisualElement.IsFocused is now a BindableProperty
    • Use * as default grid size
    • StaticResource searches in Application.Current.Resources too
    • Add NavigationPage.HasBackButton
    • Fix Fuchsia spelling, Obsolete the old spelling
    • TypeConverter on FontSize
    • SearchBar.CancelButtonColor (currently only supported on iOS)
    • ListView context actions

    Bug Fixes

    Core

    • Bindings are culture unaware
    • SetValue now properly overrides settings from a Style when the Style is applied later.
    • Grid now has more nuanced reflow logic for things like labels. This fixes some cases where grid would end up either too small or too large for its content.
    • Fix crash in XAML with DataTemplates and event subscription.
    • ListView/TableView respect WidthRequest/HeightRequest again (regression in 1.3.0-pre2)
    • No longer crash when trying to download/access the same UriImageSource on hundreds of images (System.IOException).
    • Fix issue where Grid sometimes measured out taller than it should, especially in ListView/StackLayout. Grid now prefers to expand in the direction of a "defined" constraint, which tends to match expected behavior when measuring. If both constraints are Infinite, previous behavior is retained.
    • BindableObject.SetValue will now properly perform loss-less conversions on base types. e.g. Calling slider.SetValue (Slider.ValueProperty, 6.0f) will now work correctly.
    • Fix issue where StackLayout in a Horizontal orientation would return an incorrect MinimumHeight in GetSizeRequest.
    • Adding a bad Path to a UriImageSource no longer crashes
    • Improved XAML error reporting
    • Fix crash where calling Navigation.PushAsync from re-initialized View sometimes crashed
    • Fix error where cloning a Binding did not clone the Source parameter
    • IsPresented is now respected correctly when using MasterDetailPage. May throw exception now if IsPresented is set to a disallowed value with MasterBehavior.
    • Several bugs relating to culture invariance in XAML parsing.
    • ThicknessConverter no longer depends on device culture
    • Label properly resizes after setting Label.FontSize/Font/FontAttributes Bug
    • XAML InitializeComponent calls in some apps this will result in a massive performance improvement when loading pages.
    • Serialization now property supports DataMemberAttributes
    • ListView and TableView now return consistent sizing across all platforms. This change should not affect most apps, however some apps suffering from inconsistent sizing with ListViews/TableViews should find the situation better.
    • Small set of changes to Layout to enable performance optimization with unneeded measure invalidation.
    • Don't throw NRE in ResourceDictionaries when reparenting
    • Fix map issue with IsShowingUser and location
    • fix binding against arrays (https://bugzilla.xamarin.com/show_bug.cgi?id=24263)
    • Resolve issue where Labels didn't reflow correctly inside of grids
    • RelativeLayout now gives sane error when relative to non-child view
    • fix NRE on removing ListView items (https://bugzilla.xamarin.com/show_bug.cgi?id=23778)
    • x:Reference now works inside other markup extensions.

    Android

    • Pressing back and re-entering the app now cleans up the old Activity and associated renderers. This fixes both memory leak issues and some crashes.
    • Label.FontSize = 18 no longer accidentally gives a font size of 14 on any devices.
    • Fix another case where ScrollView content could flow outside of bounds (yay).
    • Fix crash in WebView when being removed from the visual tree.
    • Map no longer re-centers on Layout.
    • MasterDetailPage container width now matches android design guidelines on tablets. (No longer insanely wide).
    • SwitchCell height is no longer squished
    • No longer crashes on Android 5.0
    • No longer renders with a black bar at the bottom of Android 5.0 devices
    • Other compatibility fixes with Android 5.0
    • WebViewRenderer now uses correct path for finding resources
    • Fix issue where calling SetPage multiple times would throw an exception
    • Fix crash when restarting the Activity introduced in last pre-release
    • Fix issue where ListView.SelectedItem = null sometimes did not work as expected.
    • Fix issues where Switch did not show on some Samsung devices
    • Fix issue where rotation ignored the anchor point
    • Fix Button text allignment issue (https://bugzilla.xamarin.com/showbug.cgi?id=21138, https://bugzilla.xamarin.com/showbug.cgi?id=21368)

    iOS

    • Renderers are now properly re-used in ListView. Performance enhancement.
    • iOS 8 now uses UIAlertController for alerts.
    • Fix a case where the keyboard could end up overlapping the input area.
    • Mixing swipe to go back and press to go back no longer results in a blank page.
    • ContextAction More/Cancel buttons now translate properly
    • ImageCell no longer flashes old image on cell re-use.
    • Slider now updates bindings correctly due to conversion fix.
    • Button.Image is now rendered with original image to match other platforms
    • Editor now scrolls to the correct location when a keyboard is shown
    • Fix NullReferenceException when assigning to SearchBar.BackgroundColor
    • Fix issue where PushModalAsync could sometimes result in a unhandled exception from UIKit.
    • MasterDetailPage now disposes of child renderers correctly, resolves a memory leak.
    • Fix issue where cells could not be unselected using blank rows.
    • WebViewRenderer now uses correct path for finding resources
    • Resolve issue where calling CreateViewController multiple times would cause an exception
    • Use proxy when downloading images if configured on device.
    • Partial swipes on a NavigationPage no longer cause the NavigationPage to get out of sync with the UINavigationController
    • ActionSheet now correctly shows on iOS 8
    • ActionSheet no longer gets incorrectly positions when rotating while visible.
    • Fix issue on Translating views of zero size
    • Select picker first item (https://bugzilla.xamarin.com/show_bug.cgi?id=22352)
    • TabbedPage now updates icons correctly
    • Fix several memory leaks
    • Modal dialog scrolls to far (https://bugzilla.xamarin.com/show_bug.cgi?id=23904)
    • Fix NRE when disposing some renderers.

    WinPhone

    • Fix crash when pressing back button with active ActionSheet.
    • TableView no longer selects wrong item when in Landscape mode.
    • OpenUriAction now uses LaunchUriAsync.
    • Back button now closes ActionSheets and Alerts before attempting Navigation.
    • Picker no longer shows a bunch of blank entries.
    • ListView selection now properly shows up.
    • ListView allows selection of items multiple times in a row if the user calls SelectedItem = null. This behavior matches other platforms correctly now.
    • Label now reports the correct minimum width to match other platforms.
    • Fix crash in Picker
    Wednesday, December 24, 2014 8:00 AM

All replies

  • User67129 posted

    @JasonSmith Great work. What more could anyone want for christmas

    Wednesday, December 24, 2014 9:14 AM
  • User74339 posted

    Fantastic work! Been looking forward to this release :D

    Amazing timing too :)

    Wednesday, December 24, 2014 4:11 PM
  • User65556 posted

    After having updated to version 1.3.0.6292. I got compiling error:

    Error MT3001: Could not AOT the assembly '/Users/PROJECTPATH/iOS/obj/iPhone/Debug/mtouch-cache/Build/PROJECTNAME.dll' (MT3001)

    btw I have switched to iOS 8.6.0.41 beta channel and haven't migrated src code to support iOS 64 bit. Xcode 6.1.1 (6611) Build 6A2008a

    One weird thing is this error only happens when I load code to real devices(iphone 5 iOS8.1.2 & ipad mini 2 iOS8.1.2), for all simulators it compiles seamlessly.

    Any idea would be appreciated.

    Wednesday, December 24, 2014 4:22 PM
  • User29256 posted

    OK since Im off today I had some free time and came back to playing with Xamarin Forms. After creating new solution I upgraded to this version. It's been a while since I used Xamarin forms, so dont know if this was introduced in this version or previous and I am doing something wrong.

    I am trying to set a label's FontSize using the below (in the label constructor call):

    FontSize = Font.SystemFontOfSize(NamedSize.Medium, FontAttributes.Bold).FontSize;

    and the label disappears. I added a line to do the Font.SystemFontOfSize call separately and the font that is returned from that call has a FontSize of zero. I tried setting the Font of the label to the result of the call but see that Font is marked Obsolete so thats probably not the right way to go.

    What am I doing wrong? what is the CURRENT (as it seems to change over time) best practice for setting label font/font size?

    Thanks, Mike

    Wednesday, December 24, 2014 6:12 PM
  • User77681 posted

    Thanks for this!! After updating to 1.3.0.6292, when using Style in my main page, I get a XamlParseException error when running the project - "No embeddedresources found for ProjectName.Pages.MainPage"..... In order for it to run, need to clean the solution, then run it, and the styles then work as expected.

    Also - would appreciate some xaml guidance on DataTriggers. For example, in a ListView, let's say I have a property named "IsComplete" on objects in my collection, and want a label's text color to display as green.

    Thanks in advance!

    Wednesday, December 24, 2014 6:55 PM
  • User8626 posted

    Tip! This page from Xamarin documentation might be helpful: Updating Existing Xamarin.Forms Apps

    It describes more in detail how to change your startup code when your project is created with templates intended for earlier Xamarin Forms versions.

    Wednesday, December 24, 2014 7:02 PM
  • User65662 posted

    Hi Jason,

    I am getting this error on Tabbed Page after updating my current project from 1.2.3 to 1.3.0 -

    "[MonoDroid] UNHANDLED EXCEPTION: [MonoDroid] System.InvalidOperationException: You MUST call Xamarin.Forms.Init(); prior to using it. [MonoDroid] at Xamarin.Forms.Device.get_Info () [0x00000] in :0 "

    Let me know if you require more info.

    Thanks.

    Wednesday, December 24, 2014 7:24 PM
  • User95831 posted

    @MikeScott8? if you are still having the issue with FontSize, as I also did, this thread should have a solution: http://forums.xamarin.com/discussion/25612/xamarin-forms-1-3-0-technology-preview/p6

    aLabel.FontSize = Device.GetNamedSize(NamedSize.Large, aLabel);

    I think using a style (such as TitleStyle) is encouraged instead of using a size directly.

    Wednesday, December 24, 2014 7:31 PM
  • User77681 posted

    Thanks Fredrik! Checked that article out, was helpful. In my android project, in MainActivity, now inheriting from FormsApplicationActivity, and using LoadApplication (new App ()); instead of GetMainPage

    Updated the PCL project, so that App inherits from Application.

    I still get "No embeddedresources found for ProjectName.Pages.MainPage" if I update any XAML property, then run. Still have to clean the project first

    Wednesday, December 24, 2014 7:35 PM
  • User352 posted

    @DeepeshKhanna.4853? are you calling Xamarin.Forms.Init before you call any other Xamarin.Forms API? That error is indicative of calling a Forms API before calling Init.

    Wednesday, December 24, 2014 8:01 PM
  • User352 posted

    @JunZhang.3823? if you want to use the beta channel, you must use the 1.3.1 pre-release.

    Wednesday, December 24, 2014 8:02 PM
  • User47735 posted

    Just in time for Christmas!

    Wednesday, December 24, 2014 8:30 PM
  • User8626 posted

    @TimothyStrumfels? If you select a Xaml file and check its properties, do you have Compile or UpdateDesignTimeXaml as Build Tool?

    Wednesday, December 24, 2014 10:55 PM
  • User74263 posted

    And ListView is still broken and unusable (on iOS at least).

    It's the already reported error "MonoTouch: Received unhandled ObjectiveC exception: NSInternalInconsistencyException Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (1) must be equal to the number of rows contained in that section before the update (5), plus or minus the number of rows inserted or deleted from that section (1 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out)."

    Which happens because whoever wrote the code had no clue about the implications of doing the updates asynchronously on the UI thread.

    (if you missed the earlier reports, to reproduce just bind a ListView to an ObservableCollection and call Add on it several times in a row some time after the ListView has been shown)

    Thursday, December 25, 2014 12:20 AM
  • User42408 posted

    Styles support Behaviors and Triggers

    How do i make custom Behavior and custom Trigger? Behavior and TriggerBase only has internal constructor, my class can't inherit them.

    Thursday, December 25, 2014 2:00 AM
  • User77681 posted

    Fredrik, it was compile..... that should do it, thanks for the help

    Thursday, December 25, 2014 2:40 AM
  • User352 posted

    @LucaB I can't reproduce the issue by doing what you have suggested. There are no errors when I simply call Add multiple times on the observable collection, the new data shows up fine. Are you perhaps calling Add from a thread?

    Thursday, December 25, 2014 3:33 AM
  • User352 posted

    @P3PPP? custom Triggers are not currently supported

    Thursday, December 25, 2014 3:37 AM
  • User74263 posted

    @JasonASmith? It looks like it needs a Clear call before the Adds to trigger the bug, sorry.

    This code seems to trigger it reliably (generate a new XF project with stable XS, then upgrade the XF package to 1.3.0 and paste this in):

    using System;
    using Xamarin.Forms;
    using System.Collections.ObjectModel;
    using System.Threading.Tasks;
    
    namespace XFListView
    {
        public class App
        {
            static ObservableCollection<string> _collection = new ObservableCollection<string> ();
    
            public static Page GetMainPage ()
            {   
                var listView = new ListView ();
                var model = new {Collection = _collection};
                listView.SetBinding(ListView.ItemsSourceProperty, new Binding("Collection"));
                var page = new ContentPage { 
                    Content = listView
                };
                page.BindingContext = model;
    
                Device.BeginInvokeOnMainThread(() => {
                    _collection.Clear ();
                    _collection.Add("abc");
                });
                return page;
            }
        }
    }
    

    Result (with iPhone 6 Plus iOS 8.1 emulator).

    Printed to console: 2014-12-25 05:24:47.566 XFListViewiOS[36608:766547] * Assertion failure in -[UITableView endCellAnimationsWithContext:], /SourceCache/UIKitSim/UIKit-3318.16.14/UITableView.m:1582

    And this exception: NSException {Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (1) must be equal to the number of rows contained in that section before the update (1), plus or minus the number of rows inserted or deleted from that section (1 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).} MonoTouch.Foundation.NSException

    Thursday, December 25, 2014 4:31 AM
  • User74263 posted

    I think you introduced this around 1.3.0-pre1 when you started calling Device.BeginInvokeOnMainThread unconditionally in ListViewRenderer rather than only when off the main thread.

    If you run that code on another thread, I think 1.2.3 is affected too (haven't tested, just looked at the code).

    The problem seems to be that you are scheduling updates in ListViewRenderer via Device.BeginInvokeOnMainThread and then you are accessing the state of collection in the callback, which is of course completely random.

    I think you need to keep a "shadow copy" of the ObservableCollection, bind the iOS UI to that; only OnCollectionChanged should access the user-visible collection and it should put all the data needed to update the "shadow copy" in a FIFO queue (including the objects themselves), and schedule via BeginInvokeOnMainThread a callback that pops an entry from the queue, updates the shadow copy from the data popped off the queue and updates the iOS control.

    Thursday, December 25, 2014 4:41 AM
  • User74263 posted

    Actually in WPF it seems you can't update ObservableCollections from non-UI threads (https://social.msdn.microsoft.com/Forums/vstudio/en-US/287c7d2c-47ae-44ed-a6a6-9b21e69a4a0a/can-not-update-collectionview-from-diffrent-thread-than-uithread?forum=wpf), so a quicker fix would be to adopt that limitation and thus replacing Device.BeginInvokeOnMainThread with an assertion of running on the main thread and a synchronous call in ListViewRenderer.OnCollectionChanged.

    Thursday, December 25, 2014 4:50 AM
  • User95115 posted

    Does this release support the unified API? I'm not seeing any assemblies under the Xamarin.IOS10 platform in the nuget download. -pre4 had these assemblies.

    Thursday, December 25, 2014 5:02 AM
  • User65662 posted

    @JasonSmith .. I do call the Forms.Init() initially. I have a content page as my initial page from where I navigate to a tabbed page. The content page loads correctly but I get the "Unhandled exception" at the tabbed page.

    This was working fine before on v1.2.3 of forms.

    Thanks.

    Thursday, December 25, 2014 5:20 AM
  • User181 posted

    @ChrisTartamella.1859? , no. That's right there at the top of this post. You have to use 1.3.1, which is now in prerelease.

    Thursday, December 25, 2014 5:23 AM
  • User95115 posted

    @adamkemp? I have no idea how I missed that. Thanks!

    Thursday, December 25, 2014 5:24 AM
  • User70005 posted

    I am getting exception after upgrading to 1.3.0 and inheriting from Application class as explained in document-

    http://developer.xamarin.com/guides/cross-platform/macios/updating-xamarin-forms-apps/

    I am using following code to create new page in App class-

      ViewFactory.Register<MainMenuView,MainMenuViewModel> ();
    
      var home = ViewFactory.CreatePage<MainMenuViewModel>();
    
      MainPage= new NavigationPage (home);
    

    However now I get following exception-

    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Method not found: 'Xamarin.Forms.Binding..ctor'. at wpMobile.Views.BaseView..ctor () [0x00000] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\Views\BaseView.cs:13 at wpMobile.Views.MainMenuView..ctor () [0x00007] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\Views\MainMenuView.cs:43 at at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in :0 --- End of inner exception stack trace --- at at System.Reflection.MonoCMethod.InternalInvoke (object,object[]) at at System.Activator.CreateInstance (System.Type,bool) at at System.Activator.CreateInstance (System.Type) at at Xamarin.Forms.Labs.Mvvm.ViewFactory.CreatePage (System.Action`2) <0x00417> at wpMobile.App..ctor () [0x00093] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\App.cs:39 at wpMobile.Android.MainActivity.OnCreate (Android.OS.Bundle) [0x00011] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\Android\MainActivity.cs:26 at Android.App.Activity.nOnCreateLandroidosBundle_ (intptr,intptr,intptr) [0x00011] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs:2179 at at (wrapper dynamic-method) object.7326e589-a609-44c9-892a-c458585f9e8c (intptr,intptr,intptr)

    Thursday, December 25, 2014 6:49 AM
  • User70005 posted

    This has completely broken my app !! Am I missing something here? Here is my baseview class, I need urgent help please!

    public abstract class BaseView:Xamarin.Forms.Labs.Mvvm.BaseView {

        public BaseView ()
        {
    
        }
    

    }

    And here is the code in MainActivity-

      [Activity (Label = "wp Express", WindowSoftInputMode = SoftInput.AdjustPan,ConfigurationChanges =    ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : FormsApplicationActivity
    {
        protected override void OnCreate (Bundle bundle)
        {
    
            base.OnCreate (bundle);
    
            Xamarin.Forms.Forms.Init (this, bundle);
            LoadApplication(new App());
            //Xamarin.FormsMaps.Init();
            //SetPage (App.GetMainPage ());
        }
    }
    
    Thursday, December 25, 2014 7:18 AM
  • User70005 posted

    I found the fix! I had to upgrade the xamarin.forms.labs to 1.2.1 pre-release!!!

    Thursday, December 25, 2014 7:29 AM
  • User92748 posted

    Sorry for being uninformed, but when you say released a version, or a version is in pre-release, what update channel are you referring to? I am on the stable channel, will I need to switch to beta or alpha in order to get this?

    Thursday, December 25, 2014 8:12 AM
  • User112 posted

    @lucab @JasonASmith? I really hope you are not doing any synchronization in Forms. it is unnecessary preformance hit and probably a costly one.

    Thursday, December 25, 2014 8:47 AM
  • User8626 posted

    @DeanChalk.1376? Xamarin.Forms is released as NuGet packages so you can choose which version you want regardless of Xamarin channel. Packages may have requirements on the platform they are used on but that's something you must read in the release notes. In this case 1.3.0 works on Xamarin Stable channel and 1.3.1-pre1 works with Xamarin Beta channel to test Unified 64-bit iOS API.

    If you open the NuGet package manager dialog you will find a checkbox (Xamarin Studio) or Drop-down (VS) to show pre-release packages.

    Thursday, December 25, 2014 9:12 AM
  • User84537 posted

    My Code no't work in new update

         <ListView.ItemTemplate>
    
           <DataTemplate>
    
             <ViewCell>
    
               <ViewCell.View>
    
                 <StackLayout>
    
                    <Button Text="{Binding Name}"  HorizontalOptions = "FillAndExpand">
    
                       <b:Interaction.Behaviors>  
    
                           <b:BehaviorCollection>
    
                              <b:EventToCommand CommandNameContext="{b:RelativeContext rootControl}"
    
                                                           EventName="Clicked"
    
                                                           CommandName="AddToInvoiceCmd"
    
                                                             CommandParameter="{Binding .}" />
    
                                                             </b:BehaviorCollection>
    
                           </b:Interaction.Behaviors>
                   </Button>
    
                      <Button Text="{Binding Quantity, Mode=TwoWay}"  />
    
                    </StackLayout>
    
                  </ViewCell.View>
    
                </ViewCell>
    
              </DataTemplate>
    
             </ListView.ItemTemplate>
    
          </ListView>
    
       </ContentPage>
    

    Help ...

    Thursday, December 25, 2014 4:18 PM
  • User112 posted

    ListView memory overutilization (hence lags when scrolling) is still present.

    Thursday, December 25, 2014 4:39 PM
  • User84537 posted

    @MihaMarkic? No work :(

    Thursday, December 25, 2014 4:53 PM
  • User112 posted

    @IbrahimSusic? What doesn't work in your code exactly? BTW TwoWay binding for buttons isn't necessary (it is a oneway really).

    Thursday, December 25, 2014 4:58 PM
  • User84537 posted

    @MihaMarkic? Return blank page, but all is ok in my model

    Thursday, December 25, 2014 5:01 PM
  • User352 posted

    @LucaB the point of the BeginInvokeOnMainThread call was never about thread safety, we still have teh same UI thread limitation WPF does. It was about delaying the invocation of certain things. That call does reliably come back in the order it is called (at least in a single threaded situation), and the delay serves a purpose (even if I will have to dig through the comments to remember what). I believe its dealing with an inconsistency issue elsewhere, either way I will fix it.

    Thursday, December 25, 2014 5:01 PM
  • User352 posted

    @MihaMarkic no you have to manually request synchronization.

    Thursday, December 25, 2014 5:02 PM
  • User112 posted

    @JasonASmith? Excellent. That's ok then. While looking at ListView Images performance problem I've come across this method that it isn't really well optimized: Android's ListViewRendererListViewAdapter.GetCellForPosition(Int32). It creates a list and then calls an extension method that does unnecessary casts. Not the best way to have a best performance.

    Thursday, December 25, 2014 5:11 PM
  • User352 posted

    Yeah that file has not been past a performance optimization check. Most things have not yet. I am hoping we will get to dig into that Q1 this year.

    Thursday, December 25, 2014 5:16 PM
  • User43424 posted

    Merry Christmas! I had created a colored image cell class with a background color bindable property that set, surprise surprise, the background color of the parent ImageCell class. The according renderer class looked like this:

    public class ColoredImageCellRenderer : Xamarin.Forms.Platform.iOS.ImageCellRenderer { ///

    /// Created to prevent repeated setting of parent's properties. /// private bool tableViewColorsSet;

        protected override void HandlePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs args)
        {
            base.HandlePropertyChanged(sender, args);
        }
    
        public override MonoTouch.UIKit.UITableViewCell GetCell(Cell item, MonoTouch.UIKit.UITableView tv)
        {
            var coloredImageCell = item as ColoredImageCell;
            if( coloredImageCell != null )
            {
                var uiColor = UIColor.FromRGB( (float)coloredImageCell.BackgroundColor.R, 
                                  (float)coloredImageCell.BackgroundColor.G,
                                  (float)coloredImageCell.BackgroundColor.B );
                if( !tableViewColorsSet )
                {
                    tv.SectionIndexColor = uiColor;
                    tv.SeparatorStyle = UITableViewCellSeparatorStyle.None;
                    tv.BackgroundColor = uiColor;
                    tableViewColorsSet = true;
                }
                var cell = base.GetCell( item, tv );
                cell.BackgroundColor = uiColor;
    
                cell.SelectedBackgroundView = new UIView() { BackgroundColor = UIColor.FromRGB( (float)coloredImageCell.SelectedBackgroundColor.R,
                        (float)coloredImageCell.SelectedBackgroundColor.G,
                        (float)coloredImageCell.SelectedBackgroundColor.B )};
    
                return cell;
            }
            else
            {
                return base.GetCell( item, tv );
            }
        }
    

    }

    I updated the GetCell signature to match the new API, but this code no longer works. I managed to set the BackGroundView in the same manner I set the SelectedBackGroundView (with a new UIView) but now when I select another cell in the ListView, the background of the text in the previously selected cell turns white.

    Here is my colored image cell class if you want to repro:


    public class ColoredImageCell : ImageCell { public static readonly BindableProperty BackgroundColorProperty = BindableProperty.Create ( p => p.BackgroundColor, default(Xamarin.Forms.Color) );

        public Xamarin.Forms.Color BackgroundColor {
            get { return (Xamarin.Forms.Color)GetValue (BackgroundColorProperty); }
            set { SetValue (BackgroundColorProperty, value); }
        }
    
        public static readonly BindableProperty SelectedBackgroundColorProperty = 
            BindableProperty.Create<ColoredImageCell,Xamarin.Forms.Color> (
                p => p.BackgroundColor, default(Xamarin.Forms.Color) );
    
        public Xamarin.Forms.Color SelectedBackgroundColor {
            get { return (Xamarin.Forms.Color)GetValue(SelectedBackgroundColorProperty); }
            set { SetValue( SelectedBackgroundColorProperty, value ); }
        }
    

    }

    Thursday, December 25, 2014 5:30 PM
  • User112 posted

    Ok, I know everybody wants some problems fixed but if/when you start solving performance problems do focus on ListView first. And layout in general.

    Thursday, December 25, 2014 5:31 PM
  • User84537 posted

    @JasonASmith? Have there been any changes for binding in xaml ?

    Thursday, December 25, 2014 8:46 PM
  • User74339 posted

    I am very grateful for the bug fixes, especially for Maps. However, the Flickering Pin issue is still present in 1.3, so Maps are still pretty much useless when it comes to user experience.

    https://bugzilla.xamarin.com/show_bug.cgi?id=25423

    Friday, December 26, 2014 1:04 AM
  • User92610 posted

    I updated my app using this page: http://developer.xamarin.com/guides/cross-platform/macios/updating-xamarin-forms-apps/

    iOS side works fine, but on android I get a null exception, caused by the THEME. Here is the stack trace.

    at Xamarin.Forms.Platform.Android.Platform.UpdateActionBarHomeAsUp (Android.App.ActionBar) <IL 0x0001f, 0x00138> at Xamarin.Forms.Platform.Android.Platform.HideActionBar () <IL 0x0000d, 0x00083> at Xamarin.Forms.Platform.Android.Platform.UpdateActionBar () <IL 0x000a8, 0x004af> at Xamarin.Forms.Platform.Android.Platform.SetPage (Xamarin.Forms.Page) <IL 0x000b6, 0x00593> at Xamarin.Forms.Platform.Android.FormsApplicationActivity.InternalSetPage (Xamarin.Forms.Page) <IL 0x000cf, 0x004b7> at Xamarin.Forms.Platform.Android.FormsApplicationActivity.SetMainPage () <IL 0x0000c, 0x00077> at Xamarin.Forms.Platform.Android.FormsApplicationActivity.LoadApplication (Xamarin.Forms.Application) <IL 0x00034, 0x001a3> at EXAMPLE.Mobile.Android.SplashActivity.OnCreate (Android.OS.Bundle) [0x00015] in /Users/shane/GitHub/EXAMPLE.Mobile/Android/SplashActivity.cs:29 at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (intptr,intptr,intptr) [0x00011] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs:2179 at (wrapper dynamic-method) object.a2bdb438-ca82-429e-b0ac-0f106f303285 (intptr,intptr,intptr) <IL 0x00017, 0x00043>

    Here's the activity's code

    [Activity(Theme = "@style/Theme.Splash", MainLauncher = true, NoHistory = true, Icon = "@drawable/EXAMPLE_app_icon_android",
                  Label = "EXAMPLE Mobile",
                  ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
                  ExcludeFromRecents = true)]
        public class SplashActivity : FormsApplicationActivity
        {
            protected override void OnCreate(Bundle bundle)
            {
                base.OnCreate(bundle);
    
                Forms.Init (this, bundle);
    
                LoadApplication(new App()); // <--- The exception line. App is a Xamarin.Forms.Application
    
                StartActivity(typeof(MainActivity));
            }
        }
    

    Deleting Theme = "@style/Theme.Splash", fixes it. But I need that theme for the splash screen on android. Unless there is another way to do android splash screens now.

    And here is my splash layout: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:minWidth="100px" android:minHeight="100px" android:gravity="center"> <ImageView android:src="@drawable/EXAMPLE_splash_logo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView1" android:layout_gravity="center" /> </LinearLayout>

    Friday, December 26, 2014 7:01 AM
  • User352 posted

    @ChristopherSvanefalk? fixed in the next pre-release, be that 1.3.2-pre1 or 1.3.1-pre2. Wont be sure which until I see how the Xamarin.iOS release shakes out. Merry Chirstmas :)

    Friday, December 26, 2014 7:23 AM
  • User352 posted

    @ShanePope dont init Forms in your Splash activity, only load it in your main activity. Use normal android to provide the splash image. Essentially your splash activity needs nothing to do with Forms.

    Friday, December 26, 2014 7:25 AM
  • User74339 posted

    @JasonASmith? that's great to hear! Merry Christmas to you too, and thanks for all the awesome work :) I hope you guys got some time off to celebrate!

    Friday, December 26, 2014 11:08 AM
  • User43424 posted

    @JasonASmith? Here is a screen shot:

    Friday, December 26, 2014 6:24 PM
  • User61409 posted

    Just updated to 1.3 and now my MasterDetail app that was working in 1.2 isn't anymore. Debugging the app my OnAppearing override was never called. Is there something that I need to do to convert my working 1.2 app to work with 1.3 that I miss? Due to this I rolled back to 1.2 to continue on with development. Thanks!

    Friday, December 26, 2014 10:27 PM
  • User352 posted

    Carlo, can you provide a little more detail?

    Friday, December 26, 2014 10:51 PM
  • User21805 posted

    I seem to have broken my environment altogether by switching between 1.3.0 & 1.3.1 pre.

    I originally updated to 1.3.0 as per the instructions, made the code changes, and it all built and ran just fine.

    I then updated to 1.3.1 pre, including switching to the beta channel. That didn’t build, I was getting

    failed to resolve "CoreAnimation.CALayerDelegate CoreAnimation.CALayer::get_Delegate()”

    So I gave up on that, and switched back to the stable build, and back to tamarin forms 1.3.0

    But now I can’t build because its not seeing Xamarin.Forms.Platform.iOS.

    As a test, I created a new test project, and I get the following results

    1. Create new Project
    2. In iOS project I see in references -> From Packages -> Xamarin.Forms.Platform.iOS
    3. Run migrate tool
    4. In iOS project I see References -> From Packages -> Xamarin.Forms.Platform.iOS
    5. Updated to 1.3.0
    6. In iOS project I see in References -> From Packages -> Xamarin.Forms.Platform.iOS is now missing

    Then I created another test project, to do things in a different order

    1. Create new project
    2. In iOS project I see in references -> From Packages -> Xamarin.Forms.Platform.iOS
    3. Updated to 1.3.0
    4. Run migrate tool
    5. In iOS project I see in references -> From Package -> Xamarin.Forms.Platform.iOS.Classic

    If built with the required code changes to App.cs and AppDelege.cs i get

    iOS/AppDelegate.cs(37,37): Error CS0012: The type MonoTouch.UIKit.UIApplicationDelegate' is defined in an assembly that is not referenced. Consider adding a reference to assemblymonotouch, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065' (CS0012) (test3.iOS)

    iOS/AppDelegate.cs(24,24): Error CS0115: `test3.iOS.AppDelegate.FinishedLaunching(UIKit.UIApplication, Foundation.NSDictionary)' is marked as an override but no suitable method found to override (CS0115) (test3.iOS)

    Im using xamarin studio.

    Sunday, December 28, 2014 3:12 PM
  • User65389 posted

    Hi all
    For your information's:

    It seems as there is some new documentation to 1.3 (app-lifecycle):

    http://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/app-lifecycle/

    Sunday, December 28, 2014 4:27 PM
  • User8854 posted

    Clicked event is not working on Maps Pin.

    Monday, December 29, 2014 2:55 AM
  • User352 posted

    @DavidTavarez? what platform are you having issues with?

    Monday, December 29, 2014 3:48 AM
  • User8854 posted

    @JasonASmith? on Android 4.4.4 when you clicked on the Pin the info window is shown and hidden it instantly. The info window do not stay. On iOS 8.1 it shows the info window but the Clicked event (after info window is displayed) is not fired.

    Monday, December 29, 2014 3:59 AM
  • User84987 posted

    Prior to 1.3 I was setting UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, false); in AppDelegate.FinishedLaunching, but that's no longer working. Looks like NavigationPage.UpdateBarTextColor is overriding what I've already set.

    So umm... what the hell? Why the change?

    My scenario - I want white text in the status bar and nav bar back button, no text in the nav bar and a transparent nav bar background. I can do white in the status bar by setting the nav bar text color to white but that also sets the status bar style to BlackTranslucent. When I set the background to transparent I now have an ugly black bar across the top.

    It seems like I've now got 2 options - downgrade to 1.2.x or overwrite the nav renderer to get rid of this behavior. It's a pain to write a custom renderer for what's probably going to amount to 2 lines of real code. I don't understand why you (XF) are mandating the UIStatusBarStyle and not either making it a settable property or leaving it alone and letting us set it ourselves.

    Is there a 3rd option that I'm somehow missing? Some magic combination of settings?

    Monday, December 29, 2014 4:07 AM
  • User84987 posted

    Nevermind, option 2 doesn't work. Calling UIApplication.SharedApplication.SetStatusBarStyle() seems to have 0 effect. Checking the StatusBarStyle property after the call shows no change - still at UIStatusBarStyle.BlackTranslucent.

    @JasonASmith? any ideas?

    Monday, December 29, 2014 4:35 AM
  • User57390 posted

    I updated Xamarin Forms and my portable library doesn't compile. It gives the following error: Error 30 The "Xamarin.Forms.Build.Tasks.XamlGTask" task could not be loaded from the assembly C:\SomePath\packages\Xamarin.Forms.1.3.0.6292\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10\Xamarin.Forms.Build.Tasks.dll. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

    Any ideas?

    Monday, December 29, 2014 10:35 AM
  • User112 posted

    I have a problem with a custom type (with its custom renderer) derived from View. If it is to be placed within a Grid I get an Width can be NaN.

    The trick is that I have to implement View.OnSizeRequest (not necessary in 1.2.*).

    1. Why is this step necessary? Shouldn't it resize to fill the width automatically?

    2. How does one implement it? i.e. ListView uses internal properties to get the width and height.

    Monday, December 29, 2014 11:09 AM
  • User59910 posted

    Hi I just updated to 1.3 and having following two issues.

    • BackgroundImage is not showing in my Page.
    • Tap gesture recognizer is not working on stacklayout (this worked before the update)

    Any thoughts on how to fix these issues?

    Thanks

    Monday, December 29, 2014 12:30 PM
  • User57390 posted

    @AleksandarPapic Forget about questions above. This was to some inconsistences in proj files (removed dll references and left targets from NuGet).

    Monday, December 29, 2014 12:41 PM
  • User78498 posted

    @JasonASmith? , I upgraded to 1.3 and found that, now, if I have a MyViewModelProperty marked as 'private set', bindings to its sub properties throws Binding: 'MyViewModelProperty' property not found on 'MyObject', target property: 'Xamarin.Forms.Entry.Text' when MyObjectProperty's 'set' is called. This obviously doesn't make sense because MyViewModelProperty is of course not on MyObject, so it appears that there is binding code comparing the wrong context. If I remove 'private' from MyViewModelProperty's 'set', everything works. Is this a bug?

    Example

    XAML (MyViewModel Binding Context) <Entry Text={Binding MyViewModelProperty.MyObjectProperty}/>

    ViewModel public class MyViewModel : ViewModelBase { private MyObject _myViewModelProperty; public MyObject MyViewModelProperty { get { return _myViewModelProperty; } private set // IF I REMOVE PRIVATE IT WORKS! { _myViewModelProperty = value; NotifyPropertyChanged("MyViewModelProperty"); } } }

    Model public class MyObject : ObservableObject { private string _myObjectProperty; public string MyObjectProperty { get { return _myObjectProperty;} set { Set(() => MyObjectProperty, ref _myObjectProperty, value);} } }

    Thanks,

    Chase

    Monday, December 29, 2014 4:40 PM
  • User112 posted

    @Chase? I guess that does have something to do with binding requiring TwoWay and checks only/also root property. Sounds like a bug to me.

    Monday, December 29, 2014 4:45 PM
  • User11894 posted

    I have a problem after update to 1.3.0. On touch Entry I have an error : "TextView does not support text selection. Action mode cancelled."

    My code

    <ListView x:Name="answerList" ItemsSource="{Binding Answers}"> <ListView.ItemTemplate> <DataTemplate> <ViewCell> <ViewCell.View> <StackLayout Orientation="Horizontal" HorizontalOptions="Center" Padding="30,0,0,0"> <Label Text="{Binding}" HorizontalOptions="FillAndExpand" VerticalOptions="Center" Font="20"></Label> <Entry x:Name="entryOptionEdit" Text="{Binding}" HorizontalOptions="FillAndExpand" VerticalOptions="Center" IsVisible="False" IsEnabled="False"></Entry> <Button x:Name="editoption" Image="EditTransGray32px.png" HorizontalOptions="End" Clicked="EditButtonClicked" CommandParameter="{Binding .}" BackgroundColor="Transparent" BorderColor="Transparent" BorderWidth="0" ></Button> <Button x:Name="deleteOption" Image="DeleteTransGray32px.png" HorizontalOptions="End" Clicked="DeleteButtonClicked" CommandParameter="{Binding .}" BackgroundColor="Transparent" BorderColor="Transparent" BorderWidth="0"></Button> <Button x:Name="validateOption" Image="CheckTransGray32px.png" HorizontalOptions="End" Clicked="ValidateButtonClicked" CommandParameter="{Binding .}" IsVisible="False" BackgroundColor="Transparent" BorderColor="Transparent" BorderWidth="0"></Button> </StackLayout> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView>

     void EditButtonClicked(object sender, EventArgs args)
            {
                var b = (Button)sender;
                var parent = (StackLayout)b.Parent;
                var t = b.CommandParameter;
    
                var label = (Label)parent.Children.ElementAt(0);
                label.IsVisible = false;
    
                var entry = (Entry)parent.Children.ElementAt(1);
                entry.IsEnabled = true;
                entry.IsVisible = true;
    
                var buttonEdit = (Button)parent.Children.ElementAt(2);
                buttonEdit.IsVisible = false;
    
                var buttonDelete = (Button)parent.Children.ElementAt(3);
                buttonDelete.IsVisible = false;
    
                var buttonValidate = (Button)parent.Children.ElementAt(4);
                buttonValidate.IsVisible = true; 
            }
    

    Have you any idea?

    Monday, December 29, 2014 4:52 PM
  • User61409 posted

    @JasonASmith? I think I found what is causing my issue... Part of the 1.3 upgrade I followed the new Lifecycle (thanks to @FredyWenger? for pointing this out) changes needed on my code. My 1.2 version of the code the GetMainPage returns a NavigationPage. Keeping the NavigationPage as the MainPage -

    MainPage = new NavigationPage(new MyMasterDetailPage());

    and running my app all I see is a blank page. If I however set the MainPage to my MasterDetailPage

    MainPage = new MyMasterDetailPage();

    the app works as expected. Of course, had to do the Font changes as well.

    Is this an issue or will the Application.MainPage not be supporting a NavigationPage type? Note that no compile error(s) nor warning(s) was encountered.

    Monday, December 29, 2014 5:14 PM
  • User88556 posted

    I'm wondering if this issue with ListView.ItemTapped on Windows Phone will ever get fixed... http://forums.xamarin.com/discussion/29429/listview-itemtapped-issue-on-windows-phone

    1.3.0 shipped with this bug in the end

    Monday, December 29, 2014 5:38 PM
  • User45048 posted

    I updated to Forms 1.3 My iOS project now won't build ... I get the following error:

    Error MT2002: Failed to resolve "Xamarin.Forms.BindableProperty Xamarin.Forms.BindableProperty::Create(System.Linq.Expressions.Expression1<System.Func2>,!!1,Xamarin.Forms.BindingMode,Xamarin.Forms.BindableProperty/ValidateValueDelegate1<!!1>,Xamarin.Forms.BindableProperty/BindingPropertyChangedDelegate1,Xamarin.Forms.BindableProperty/BindingPropertyChangingDelegate1<!!1>,Xamarin.Forms.BindableProperty/CoerceValueDelegate1)" reference from "Xamarin.Forms.Core, Version=1.2.3.0, Culture=neutral, PublicKeyToken=null" (MT2002)

    My Android project builds fine. It appears that error is looking for something in Forms 1.2.3. I have made NO other changes (none of the migration changes ... I believe those are only required for upgrade to Forms 1.3.1, correct?)

    UPDATE: My apologies, as I saw this was addressed in an earlier message. I am also using Xamarin.Forms.Labs and I needed to update that package to 1.2.1 pre2 in all my projects. Sorry for the repeat. Updating Labs corrected the error.

    Monday, December 29, 2014 6:27 PM
  • User88968 posted

    Anyone has already used the new Map's Clicked property? I implemented the property, but is not going through the method. Thanks.

    Monday, December 29, 2014 7:55 PM
  • User43424 posted

    @JasonASmith were you able to take a peek at the UILabel background color issue described above? Has anyone else experienced the set to white on deselection?

    Monday, December 29, 2014 10:45 PM
  • User352 posted

    @igeoghegan? I have not had a chance to look. I am on vacation from Dec 22 - Jan 10ish so things will be a bit slow from me response wise. I will try to find some time for it soon.

    About the Maps Clicked issue: I am digging into it trying to figure out why its not firing reliably.

    Monday, December 29, 2014 11:10 PM
  • User352 posted

    @MassimoProta I will make sure ListView.ItemTapped is verified correctly for 1.3.2 (1.3.1 should be a zero-change 64 bit update of forms).

    Monday, December 29, 2014 11:11 PM
  • User352 posted

    @Chase bindings only use public getters/setters currently. Because Entry.Text is default TwoWay and your property is RO this binding will fail.

    Monday, December 29, 2014 11:13 PM
  • User78498 posted

    @JasonASmith, but the property I'm bound to is not readonly...just the containing object/property is. This worked before I upgraded to 1.3.

    It wasn't very critical in my situation, so I was able to work around, but thought I'd make you guys aware there was a change.

    Thanks

    Tuesday, December 30, 2014 1:11 AM
  • User352 posted

    Yep I need to read more clearly, filing bug

    Tuesday, December 30, 2014 8:34 AM
  • User88556 posted

    @JasonASmith? Thanks for that. I've also created an item in your bugzilla, and I did contact support about this as well some days ago, but I got no answer back.

    Tuesday, December 30, 2014 9:08 AM
  • User94282 posted

    Great thanks ... When the new version of the Signature Pad (For Xamarin.Forms) that support this new build can be released ?

    Tuesday, December 30, 2014 12:34 PM
  • User51906 posted

    @JasonASmith? I have a problem with Navigation. In my App I have a LoginScreen. If the user is correctly logged in and the data from server is retrieved in use Navigation.PushModalAsync(new NavigationPage(Dashboard)) so I can't go back to the LoginPagewith the Navigation Arrow. So far so good works on iOS and Android. But on Android, when I hit the hardware back button it goes back to the LoginPage. That's not what I want. In XForms 1.2.3 it worked as it should but with XForms 1.3.1 pre1 not. I tried to call Navigation.RemovePage(this) on the LoginPage but then it throws an exception. Is this the normal behaviour?

    Tuesday, December 30, 2014 12:38 PM
  • User88968 posted

    @JasonASmith? , Any idea when we will have the Maps Clicked issue solved? Thanks.

    Tuesday, December 30, 2014 12:44 PM
  • User25841 posted

    Not sure where this post belongs, but after updating to XF 1.3.0 the "No EmbeddedResources Found" issue is suddenly much worse. Previously I used to simply either save the Xaml changes or hit build a second time, but now the "no embedded resources found" message persists forever until I do a "Rebuild All"... however this takes forever as I need to do it every time I change any Xaml, its driving me insane!

    This has only happened after updating my project to XF 1.3.0. I have confirmed that I don't have the problem with any of my previous projects pre XF 1.3.0?

    Someone help please??

    Tuesday, December 30, 2014 12:50 PM
  • User94282 posted

    @LeonPotgieter try to save and build the solution before debug the application ... for me this workaround work

    Tuesday, December 30, 2014 12:54 PM
  • User25841 posted

    @AndreaRomeo.6033 Hi, thanks but as I said I used to Save before a build, or else just build a second time... neither work anymore. I'm now forced to do a "Rebuild All" or else the "no embeddedresources found" message persists

    Tuesday, December 30, 2014 12:58 PM
  • User48429 posted

    @LeonPotgieter?: On the properties of your xaml page, have you changed the Build->Custom Tool value to MSBuild:UpdateDesignTimeXaml ? This solved the 'no embeddedresources found' problem for me.

    Tuesday, December 30, 2014 2:01 PM
  • User25841 posted

    @?EdSonneveld Tx for trying to help, tried that but it made no difference... still need to do a "Rebuild All" which takes forever to get of the error. As I said before, pre 1.3.0 projects don't have the same issue. This is driving me nuts!

    Tuesday, December 30, 2014 2:18 PM
  • User352 posted

    I apologize this thread is getting away from me a bit. Please be patient. Im just kinda doing flybys so I dont come back from vacation to an angry mob :)

    @RaphaelSchindler? override "OnBackButtonPressed" on your DashboardPage. Here is the gist of it. Return true indicates you handles the press, return false indicates you didn't handle it and it is "unhandled still". Calling base.OnBackButtonPressed (even if you still return true/false otherwise) will trigger Modal page to be popped.

    Quite likely what you want is to just override and return false;

    This means when the user presses the button it will exit the app which matches the UX guidelines of the platform. (Back button should never simply be swallowed with no effect, if you have nothing to do you exit).

    Tuesday, December 30, 2014 2:24 PM
  • User53115 posted

    Similar to @ImranSaleem? I updated to 1.3.0 and now my tap gesture recognizers are not working (ie, the Tapped event is not being raised). The views with the recognizers are custom ContentViews, inside a Grid, inside a StackLayout. Any help would be appreciated.

    Tuesday, December 30, 2014 6:32 PM
  • User89791 posted

    @spoxprox I was having the same issue, but it seems that the references to Xamarin.Forms.Maps, Core, Platform, and Xaml were all still referencing the MonoTouch dlls. I had to remove those and manually add the dlls from packages\Xamarin.Forms.Package\lib\Xamarin.iOS10 myself. That did the trick.

    Wednesday, December 31, 2014 5:48 PM
  • User352 posted

    @JoeManke? looking into the TapGestureRecognizer and going to make sure we get some UITesting around it since it does appear to be a hole there.

    Thursday, January 1, 2015 3:42 AM
  • User21805 posted

    @steckums? thanks, but for me if I use 1.3.0.6292 on the stable channel, I don't have a Xamarin.iOS10 folder in the packages folder. I only get one using 1.3.1.6294-pre on the beta channel. But if I use that the code doesn't build, giving me the following error

    iOS/MTOUCHTASK: Error MT2002: Failed to resolve "CoreAnimation.CALayerDelegate CoreAnimation.CALayer::get_Delegate()" reference from "Xamarin.iOS, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065" (MT2002) ()

    In the changes documentation it has

    public CALayerDelegate Delegate { get; set; } has changed change to public ICALayerDelegate Delegate { get; set; }

    But it looks like Xamarin.iOS is still referencing, public CALayerDelegate Delegate { get; set; }

    Thursday, January 1, 2015 12:30 PM
  • User25841 posted

    It seems that I'm not the only one having trouble with the persistant "No Embedded Resources Found" message since updating my project to 1.3.0 - Howard is having the same issue: https://bugzilla.xamarin.com/show_bug.cgi?id=21111

    Being forced to do a Rebuild All or a Clean before every build in 1.3.0 has become really painful, everything just takes forever... at this rate I'm going to have to do a revert back from 1.3.0.

    Surely there must be a solution for this?

    Saturday, January 3, 2015 9:02 AM
  • User352 posted

    We will be working with the XS team on a fix as soon as they are back from vacation.

    Saturday, January 3, 2015 1:48 PM
  • User89739 posted

    With iOS 8.1 the Clicked event on Pin is not fired.... Is this correct?

    Saturday, January 3, 2015 3:41 PM
  • User39222 posted

    Page background images are no longer working for me on Android but they do still work on iOS.

    Sunday, January 4, 2015 6:16 AM
  • User51906 posted

    @JasonASmith? Hi, I tried your suggestion but it didn't fix my problem :(

    protected override bool OnBackButtonPressed()
    {
        base.OnBackButtonPressed();
        return false;
    }
    

    Is that how you meant it? I also tried this:

    protected override bool OnBackButtonPressed()
    {
        return false;
    }
    

    I actually don't understand why the LoginPage isn't getting popped when I call PushModalAsync. I have an ActivityIndicator on the LoginPage maybe this is causing the problem.

    //Edit: Changing the IsRunning state on the ActivityIndicator doesn't help.

    Monday, January 5, 2015 7:23 AM
  • User65389 posted

    It seems as geolocation in iOS (Combination 1.3 with iOS 8.1.2) don't work anymore...

    Xamarin.Geolocation.Position position = await locator.GetPositionAsync(timeout: 10000)

    Has worked with 7.x on iPhone5, after update to 8.1.2 it seems to be broken :-(

    Monday, January 5, 2015 3:01 PM
  • User73807 posted

    I saw in the notes that the activity for Android is now destroyed and re-created. However, this is causing problems as prior to 1.3.0, switching to another app and coming back would stay on the current page. With 1.3.0, however, now the activity is destroyed and re-created and thus the app looks like it starts fresh again. Is this intentional and is there a way to restore the last viewed page and it's state?

    Monday, January 5, 2015 4:56 PM
  • User53115 posted

    @RaphaelSchindler? Why do you expect the LoginPage to be popped when you push another page?

    Also, as @JasonASmith? said, calling the base.OnBackButtonPressed() will pop the page regardless of what you return.

    I think what you want to do is remove the LoginPage from the navigation stack from the DashboardPage, instead of having it attempt to remove itself. I would probably do this in OnAppearing().

    protected override void OnAppearing()
    {
        base.OnAppearing();
    
        //Assuming your LoginPage is the first thing in your NavigationStack. Alter as necessary.
        Navigation.RemovePage(Navigation.NavigationStack[0]);
    }
    
    Monday, January 5, 2015 7:02 PM
  • User64233 posted

    @FredyWenger, I had a similar problem with geolocation not working on iOS 8 (unrelated to XF 1.3, which I haven't updated to yet). I eventually discovered that changes to the geolocation implementation in iOS8 require new keys to be added to the INFO.PLIST file...

    <key>NSLocationWhenInUseUsageDescription</key>
    <string>***The message you want to appear when iOS prompts the user to allow their location to be tracked***</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>***The message you want to appear when iOS prompts the user to allow their location to be tracked***</string>
    

    Adding those two keys (or the first at least, I think) got geolocation working for me again in iOS8.

    Monday, January 5, 2015 8:55 PM
  • User65389 posted

    @Bosco:
    Thanks for your suggestion. It seems, as you are right, that something to geolocation has changed in iOS 8. I also have found some similar information's on stackoverflow:

    stackoverflow.com/questions/24062509/location-services-not-working-in-ios-8

    I have added the entry's in the info.plist-file... but... unfortunately... it still don't works :-(

    Additional info from stackoverflow:

    In iOS 8 you need to do two extra things to get location working: Add a key to your Info.plist and request authorization from the location manager asking it to start. There are two Info.plist keys for the new location authorization. One or both of these keys is required. If neither of the keys are there, you can call startUpdatingLocation but the location manager won’t actually start. It won’t send a failure message to the delegate either (since it never started, it can’t fail). It will also fail if you add one or both of the keys but forget to explicitly request authorization. So the first thing you need to do is to add one or both of the following keys to your Info.plist file:

    It seems as additionally the call of the function has to be enhanced...
    So.. it would be nice, if we would receive a statement from Xamarin, how to change the call or - if that is not possible yet - the commitment, that this will be added in the next version...

    Tuesday, January 6, 2015 12:31 PM
  • User65389 posted

    @Bosco:
    I have it working now:
    - I additionally had to change the settings on iOS:
    In German: Einstellungen - Datenschutz - Ortungsdienste - then scroll to the App-name, select it and set "Immer"
    In English (free translated): Settings - Data Security - Location Service - then scroll to the App-name, select it and set "always"
    => Before I have added your entries, I have already have selected "always", but the setting was not stored
    => Now, I can see my text (from the info.plist-file) and the setting IS stored
    So... thanks again for your help (I will post an info in a separate thread for other users with a link to this thread)

    Tuesday, January 6, 2015 3:35 PM
  • User2496 posted

    Hi @ImranSaleem? , @WillBrowning? it seems BackgroundImage is working fine on Android device, can you guys give a simple testcase do reproduce the problem?

    Thanks

    Tuesday, January 6, 2015 4:14 PM
  • User76149 posted

    In class Xamarin.Forms.ListView.cs (Xamarin.Forms.Core.dll portable version), there is a new override in 1.3.0,

    protected override SizeRequest OnSizeRequest(Double widthConstraint, Double heightConstraint).

    Should the line of code Double num = Math.Min(width, scaledScreenSize.Height) be Double num = Math.Min(width, scaledScreenSize.Width).

    The scaledScreenSize.Height is used instead of scaledScreenSize.Width.

        protected override SizeRequest OnSizeRequest(Double widthConstraint, Double heightConstraint)
        {
            Size size;
            Size size1 = new Size(40, 40);
            Double width = Device.Info.ScaledScreenSize.Width;
            Size scaledScreenSize = Device.Info.ScaledScreenSize;
            Double num = Math.Min(width, scaledScreenSize.Height);
            IList itemsSource = base.ItemsSource as IList;
            if (itemsSource == null || this.HasUnevenRows || this.RowHeight <= 0 || this.IsGroupingEnabled)
            {
                Double width1 = Device.Info.ScaledScreenSize.Width;
                Size scaledScreenSize1 = Device.Info.ScaledScreenSize;
                size = new Size(num, Math.Max(width1, scaledScreenSize1.Height));
            }
            else
            {
                size = new Size(num, (Double)(itemsSource.Count * this.RowHeight));
            }
            return new SizeRequest(size, size1);
        }
    
    Tuesday, January 6, 2015 7:13 PM
  • User39222 posted

    @rmarinho? Setting the page BackgroundColor fixes the problem for me. When it is not set the background image doesn't show. I'll try to recreate the problem in a new project to narrow it down further.

    Tuesday, January 6, 2015 9:51 PM
  • User2773 posted

    I have some problems with ListView.ScrollTo method on Android:

    • Scrolling is always animated (it ignores animated bool value)

    • Method doesn't work every time. For example make a TabbedPage with one of the pages with a list. Then in OnCurrentPageChanged send a MessagingCenter message to scroll to the last element. With ScrollToPosition.MakeVisible nothing will happen. With any other ScrollToPosition enum option it will fire an internal exception.

    Wednesday, January 7, 2015 12:19 PM
  • User74604 posted

    I found a bug: if I select an item in my listview in code the item selected event runs without any errors and from the moment that the event is complete my app craches.

    Wednesday, January 7, 2015 3:26 PM
  • User60131 posted

    Do you have any update on 1.3.2 (pre)release? We cannot release our app because of blocking issue in ListView (input fields focus issue). I tried to set WindowSoftInputMode = SoftInput.AdjustPan, but still the same result.

    Thursday, January 8, 2015 9:48 AM
  • User54298 posted

    After update to 1.3 started to get this error message:

    Error 9 Failed to resolve "System.Double Xamarin.Forms.Device::GetNamedSize(Xamarin.Forms.NamedSize,System.Type)" reference from "Xamarin.Forms.Core, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets

    Any suggestion on what shell I do?

    thanks

    Thursday, January 8, 2015 12:08 PM
  • User61409 posted

    Posted this in the 1.3.0 Preview thread and the same behavior goes with the Released... I am programmatically setting the SelectedItem of a ListView (ListView.SelectedItem = ViewModel.Items[0]). Up to the last Stable 1.2 version, this worked great. In the current Stable 1.3 in iOS, the row gets selected but the row doesn't get highlighted anymore. In Android, works as expected. Thanks!

    Thursday, January 8, 2015 3:04 PM
  • User22519 posted

    When is the correct moment to remove the previous page from the navigationStack?

    protected override void OnAppearing()
    {
           Navigation.RemovePage(Navigation.NavigationStack[0]);
    }
    

    This code is working on iOS and Windows Phone. On Android however you get an unhandled exception: System.ArgumentException: 'jobject' must not be IntPtr.Zero.

    Friday, January 9, 2015 3:13 PM
  • User11894 posted

    On my iOS project, my app crash to start. With the error

    Exception has been thrown by the target of an invocation.
    at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00016] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:543 
      at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x000af] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Activator.cs:329 
      at System.Activator.CreateInstance (System.Type type) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Activator.cs:222 
      at Xamarin.Forms.Xaml.CreateValuesVisitor.Visit (Xamarin.Forms.Xaml.ElementNode node, INode parentNode) [0x00000] in <filename unknown>:0 
    Attempting to JIT compile method 'Microsoft.Scripting.Interpreter.LightLambda:MakeRun1<InviteVite.Entities.Event, System.DateTime> (Microsoft.Scripting.Interpreter.LightLambda)' while running with --aot-only. See http://docs.xamarin.com/ios/about/limitations for more information.
    at Microsoft.Scripting.Interpreter.LightLambda.MakeDelegate (System.Type delegateType) [0x0000d] in ///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.47/src/mono/mcs/class/dlr/Runtime/Microsoft.Dynamic/Interpreter/LightLambda.cs:177 
      at Microsoft.Scripting.Interpreter.LightDelegateCreator.CreateDelegate (System.Runtime.CompilerServices.StrongBox`1[] closure) [0x00000] in ///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.47/src/mono/mcs/class/dlr/Runtime/Microsoft.Dynamic/Interpreter/LightDelegateCreator.cs:109 
      at Microsoft.Scripting.Interpreter.CreateDelegateInstruction.Run (Microsoft.Scripting.Interpreter.InterpretedFrame frame) [0x00043] in ///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.47/src/mono/mcs/class/dlr/Runtime/Microsoft.Dynamic/Interpreter/Instructions/TypeOperations.cs:47 
      at Microsoft.Scripting.Interpreter.Interpreter.Run (Microsoft.Scripting.Interpreter.InterpretedFrame frame) [0x0001b] in ///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.47/src/mono/mcs/class/dlr/Runtime/Microsoft.Dynamic/Interpreter/Interpreter.cs:126 
    

    Xamarin Labs is up to date with the pre 2 version.

    Edit: In Release mode the app start, but not in debug.

    Friday, January 9, 2015 3:50 PM
  • User78996 posted

    @JanTourlamain? I believe you need to set BindingContext to null on the page before you remove it from the stack.

    Friday, January 9, 2015 4:59 PM
  • User22519 posted

    @JMarcus I still get the same error when using:

    protected override void OnAppearing()
    {
                Navigation.NavigationStack[0].BindingContext = null;
                Navigation.RemovePage(Navigation.NavigationStack[0]);
    }
    
    Friday, January 9, 2015 5:09 PM
  • User43424 posted

    What is the difference between 1.3 and 1.3.1? Should everyone move to 1.3.1?

    Monday, January 12, 2015 8:55 PM
  • User92610 posted

    @igeoghegan

    Follow part 2 of this guide http://developer.xamarin.com/guides/cross-platform/macios/updating-xamarin-forms-apps/

    Monday, January 12, 2015 8:58 PM
  • User43424 posted

    @ShanePope? I am unclear on why I should move from 1.3 to 1.3.1 with regards to calling SetPage(). Should everyone be moving to 1.3.1? If so, why? Thanks.

    Monday, January 12, 2015 9:09 PM
  • User92610 posted

    Your original message before you edited it said: "What has Xamarin.Forms.Platform.Android.AndroidActivity.SetPage() been replaced with for 1.3?"

    That is what I'm responding to.

    1.3.1 has the 64bit support for iOS which is needed to deploy apps to the app store on Feb 1st in iOS. That is the only change. Bug fixes and features will be in 1.3.2

    Monday, January 12, 2015 9:12 PM
  • User20490 posted

    @igeoghegan? - 1.3.0 is just the new iteration of Xamarin Forms. 1.3.1 is 1.3.0 with 64-bit support and the iOS Unified APIs. If you have new apps shipping on iOS, Apple is requiring all new apps as of February 1 to be 64-bit compliant. All existing apps must comply by June 1st.

    Monday, January 12, 2015 9:13 PM
  • User43424 posted

    @chris_riesgo?
    Thanks Chris!

    Monday, January 12, 2015 9:41 PM
  • User5087 posted

    @WillBrowning?, @rmarinho?: I encountered this problem on Android today too. An owner drawn view wasn't displayed until I changed the BackgroundColor = Color.Transparent. This was the only change I did. Code worked on iOS perfect and before 1.3.0 on Android too.

    Monday, January 12, 2015 9:59 PM
  • User20490 posted

    @Charlenni? - Which Android API level? Lollipop? There's a known issue where on Lollipop, a drawable resource that Forms is trying to use no longer exists. You have to explicitly set the BackgroundColor property to overcome the issue for now.

    Monday, January 12, 2015 10:11 PM
  • User5087 posted

    @chris_riesgo: I build against Android 5.0 (Lollipop), but run on API17 or API19 (both the same). So it could be, that this is the problem. Thank you for your tip!

    Tuesday, January 13, 2015 6:25 AM
  • User23807 posted

    @JanTourlamain: I face a similar issue. I try to remove the page during OnDisappearing:

    protected override void OnDisappearing() { Navigation.RemovePage(this); }

    This works on WP and iOS but gets recursive on Android, i.e RemovePage() calls OnDisappearing. You have to add a flag to prevent a stack overflow.

    @JasonASmith Is that expected behavior or a bug?

    Tuesday, January 13, 2015 12:33 PM
  • User23807 posted

    @JasonASmith

    I noticed two additional issues with OnDisappearing:

    1. It behaves different on Windows Phone. On Android/iOS my current page is still on the NavigationStack, on Windows Phone it's already missing.

    2. OnDisappearing is not called on iOS for a TabbedPage. Happens on 1.3.0 with classic iOS API (have not yet converted to unified API).

    Is that expected behaviour or are these bugs?

    Tuesday, January 13, 2015 12:41 PM
  • User92610 posted

    I converted to 1.3.1 and now my app is not copying resources into the bundle. Has anyone seen this? My post here: http://forums.xamarin.com/discussion/30825/after-upgrading-to-unified-api-resources-images-arent-being-added-to-bundle#latest This is on mac in XamarinStudio

    Tuesday, January 13, 2015 7:48 PM
  • User60257 posted

    Should this work with VS on Windows? InitializeComponent doesn't seem to be being generated on VS.

    Tuesday, January 13, 2015 10:57 PM
  • User22519 posted

    @JMarcus? the Navigation.RemovePage is not working on Android because of a bug in Xamarin Forms. More info can be found on: https://bugzilla.xamarin.com/show_bug.cgi?id=25979

    Wednesday, January 14, 2015 8:06 AM
  • User22519 posted

    @JasonASmith I forgot to mention you, but the Navigation.RemovePage is a bug in Xamarin Forms (cf my previous post today at 9:06AM)

    Wednesday, January 14, 2015 8:08 AM
  • User5087 posted

    @JanTourlamain: This isn't correct all the time. For me the following is working on iOS and Android:

    await App.GameNavigation.PushAsync(gameMainView, false);
    App.GameNavigation.Navigation.RemovePage(App.GameNavigation.Navigation.NavigationStack[0]);
    

    I even don't remove the BindingContext.

    Do you have more than one Page on the stack?

    Wednesday, January 14, 2015 8:13 AM
  • User22519 posted

    @Charlenni thanks for your solution. It's working.

    @JMarcus? and @JasonASmith?: When navigating from pageA to pageB I was trying to remove pageA in the OnAppearing event from PageB (which produces the error). Removing pageA after the await PushAsync in pageA like @Charlenni is suggesting works.

    Wednesday, January 14, 2015 8:36 AM
  • User5087 posted

    @JanTourla, @JMarcus? , @JamesASmith?: To be correct, you couldn't remove the last Page on the stack. This leads to an exception. Where you do this is irrelevant.

    And @JamesASmith, if I already have your attention: my app works with 90% common code very stable on iOS and Android. And if I do allright than it does this the most time ;). To make it short: thank you for your and your teams great work!

    Wednesday, January 14, 2015 8:49 AM
  • User27459 posted

    Hi @JasonASmith? I hope you had a good break! We're very keen to update to 1.3.x but sadly we can't due to the issues with TapGestureRecognizer as raised by @JoeManke? Is this fix planned for the next release, if so, can I ask the ETA on this?

    Wednesday, January 14, 2015 10:20 AM
  • User92953 posted

    @JasonASmith? Hi Jason, this seem to be a bug in the new release 1.3.1, please give it a look ! :) Thanks.

    forums.xamarin.com/discussion/30886/compile-error-in-winphone-after-updating-to-xamarin-forms-1-3-1-0-cannot-resolve-dependency

    Wednesday, January 14, 2015 10:47 AM
  • User98240 posted

    As this seems to be the official way to indicate a bug: Could you take a look at the thread 1.3.1, ListView and ImageCell performance on Android. We have big issues with ListViews and android performance.

    Wednesday, January 14, 2015 6:16 PM
  • User20490 posted

    @OtaMares? - Make sure to officially log bugs at bugzilla.xamarin.com. Forums are great for driving discussion, but can't be relied on for bug tracking.

    Wednesday, January 14, 2015 10:10 PM
  • User98240 posted

    @chris_riesgo? Yep will do.

    Found another issue, i think it will be very rare but ListView + Image with disabled cache + A data source list with the same image for every entry. Start the project and go drink a coffee, maybe the images will be loaded when you are back ;)

    Example code https://github.com/rebuy-de/xamarin-listview/blob/disabled_caching/Presidents/Presidents.cs or check out the whole solution to test it yourself.

    Wednesday, January 14, 2015 11:11 PM
  • User71553 posted

    When creating a new project with 1.3.1 (either Shared or Portable), my iOS project cannot seem to find Xamarin.iOS. I need to write a custom renderer, and 'using Xamarin.iOS' does not resolve, nor does code completion for the library work. What am I doing wrong? Thanks in advance for your help!

    Nevermind, my dumbness. Didn't realize the root "Xamarin.iOS" of the using was not needed. Thanks!

    Thursday, January 15, 2015 2:17 AM
  • User23807 posted

    Build in styles are NOT working, see http://forums.xamarin.com/discussion/30923/built-in-device-styles-in-xaml-not-working#latest

    Thursday, January 15, 2015 10:19 AM
  • User68610 posted

    @JasonASmith? - Im currently having this problem with the release http://forums.xamarin.com/discussion/30991/adding-content-with-lots-of-grids-dynamically-exponentially-slow#latest

    Thursday, January 15, 2015 4:55 PM
  • User80438 posted

    Hi,

    I noticed the 1.3 announcement on the Forums.

    Just a note of a couple of major bugs in 1.3.

    Can't not add more than one trigger to Style.Triggers in xaml

    http://forums.xamarin.com/discussion/comment/96598#Comment_96598

    And, BindingContext does not get set on Behavior so binding to BindablePropeties does not work.

    http://forums.xamarin.com/discussion/30666/xamarin-forms-1-3-behavior-binding-bug

    Thursday, January 15, 2015 9:04 PM
  • User68347 posted

    Hi,

    My team is blocked on this bug: https://bugzilla.xamarin.com/show_bug.cgi?id=24824

    Any ETA for 1.3.2-pre1?

    Thanks, Karim

    Friday, January 16, 2015 2:02 PM
  • User25841 posted

    Hi, I have two major issues:

    Firstly setting PushModalAsync animation to false only seems to be obeyed the first time its used. Navigating back and then trying again results in every push thereafter ignoring the animation flag.

    Sample code and video attached... you will notice that the first PushModalAsync happens without animation (as requested), thereafter every subsequent PushModalAsync ignores the animation parameter.

    Also there is a horribly, ugly transition when going from a page with a Navigation bar back to a page which doesn't have one on Android. The video is from my Mac Emulator which is not that noticeable but MUCH worse and completely unusable on an actual device. Surely we don't need/want the navigation bar on many "root" pages and only require the navigation bar when navigating back? How then do we remove this animation? Why isn't it possible to just transition between pages with/without the navigation bar without all this animation and bouncing around?

    The user experience is just awful because of this and I simply can't find a way around it and various requests on the forums simply result in other people saying they are having the same issue. Without finding a resolution to this we have to choose between having a navigation bar on every single page, or else drop navigation completely... or else put up with this effect which is truly terrible once its on a device. Was really hoping that this would be resolved in 1.3 as its been reported a number of times. Does anyone have a solution to this?

    Video: https://www.dropbox.com/s/t3oai8o023hfw05/screencast-Genymotion-2015-01-17.mp4?dl=0

    Code:

    public partial class WelcomePage : ContentPage
        {
            public WelcomePage ()
            {
                InitializeComponent ();
                NavigationPage.SetHasNavigationBar(this, false);
                ConfigureButtonTaps ();
            }
    
            private void ConfigureButtonTaps()
            {   
                var loginTap = new TapGestureRecognizer ();
                loginTap.Tapped += (object sender, EventArgs e) => {
                    imgLogin.Opacity = 0.7;
                    this.Navigation.PushAsync(new LoginPage(), false);
                };
                imgLogin.GestureRecognizers.Add (loginTap );
    
                var registerTap = new TapGestureRecognizer ();
                registerTap.Tapped += (object sender, EventArgs e) => {
                    imgRegister.Opacity = 0.7;
                    this.Navigation.PushAsync(new RegistrationPage(), false);
                };
                imgRegister.GestureRecognizers.Add (registerTap );
            }
    
            protected override void OnAppearing ()
            {
                base.OnAppearing ();
                imgRegister.Opacity = 1;
                imgLogin.Opacity = 1;
            }
        }
    
    Saturday, January 17, 2015 2:30 PM
  • User37827 posted

    A super simple, basic, core, foundational, essential, prerequisite, requisite, price-of-admission, table stakes feature we still don't have in Forms is the ability to change the font size in a textbox (Entry). Please?!

    Monday, January 19, 2015 4:24 AM
  • User93561 posted

    Styles

    Does Xamarin support the concept of application-scope styles where I can define all my styles in one file that I can use accross many pages? Here is a link from Microsoft about this concept that is supported by XAML: https://msdn.microsoft.com/en-us/library/aa348820(v=vs.110).aspx

    If there it is supported, is there any article about it?

    Wednesday, January 21, 2015 4:12 PM
  • User181 posted

    You can't do it in XAML, but you can in code. There are resources associated with the application.

    Wednesday, January 21, 2015 4:20 PM
  • User5087 posted

    adamkemp was faster ;)

    Find a detailed description at developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/styles/. Look for the section "Global Styles using Application Resources".

    Wednesday, January 21, 2015 4:22 PM
  • User78996 posted

    @MarioMamalis?, @adamkemp?, @Charlenni you can define application level styles in Xaml. See the post to see how it's done: http://adventuresinxamarinforms.com/2014/12/31/creating-a-xamarin-forms-app-part-11-updating-to-xamarin-forms-1-3/

    Wednesday, January 21, 2015 4:25 PM
  • User112 posted

    Yep, it seems that you can, read Using Xaml for your App topic of developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/styles/ mentioned above.

    Thursday, January 22, 2015 4:18 PM
  • User61058 posted

    It seems that creating ConstraintExpression in ResourceDictionary doesn't work with XAML anymore:

    <ContentPage.Resources> <ResourceDictionary> <ConstraintExpression x:Key="zero" Type="Constant" Constant="0" /> <ConstraintExpression x:Key="fillWidth" Type="RelativeToParent" Property="Width" Factor="1" /> <ConstraintExpression x:Key="fillHeight" Type="RelativeToParent" Property="Height" Factor="1" /> <local:MapConverter x:Key="mapConverter" />
    </ResourceDictionary> </ContentPage.Resources> </ContentPage.Resources>

    When I try to reference any of the static resources (like RelativeLayout.XConstraint="{StaticResource zero}") I geta 'No property of name RelativeLayout.XConstraint found' XamlParseException. This worked in 1.2. Any ideas why this is so?

    One more thing: a good tutorial about Triggers would be excellent. Thanks!

    Tuesday, February 3, 2015 11:42 AM
  • User352 posted

    @TiborEbner can you please file a bug in bugzilla so we can track this? These release threads are rather transient

    Tuesday, February 3, 2015 11:43 AM
  • User61058 posted

    Here it is: https://bugzilla.xamarin.com/show_bug.cgi?id=26680

    Now it's your turn with the tutorial on Triggers in the 'Working with...' section of the Cross Platform guides :) I mention this here again that proper documentation is of utmost importance for us, developers. And sadly Forms has a very, very poor reference documentation (which has its good reasons, I'm sure, but still -- this is substandard of any paying software library. Sorry to say that, but I cannot put it more gently, as it often drives me mad :)

    Tuesday, February 3, 2015 12:46 PM
  • User49629 posted

    @TiborEbner Do you have a thread on this issue in the forums? If so, could you post the link here? If not, perhaps you could post more details to the following thread, which I believe is related to the same issue: forums.xamarin.com/discussion/32170/generic-subclassing-from-xaml

    I agree that something happened in one of the recent XF builds to break existing use of StaticResource. I had code that worked in 1.3.1.6296 but was broken after I upgraded to 1.3.2.6316. However, I was able to fix it with some tweaking, so it's possible that you don't have to wait for a fix from Xamarin.

    Friday, February 6, 2015 2:59 AM
  • User83124 posted

    Error 9 The type 'MonoTouch.UIKit.UIApplicationDelegate' is defined in an assembly that is not referenced. You must add a reference to assembly 'monotouch, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065'. C:\allcsharp\xamarinapps\PetzoldOne\PetzoldOne\PetzoldOne.iOS\AppDelegate.cs 14 26 PetzoldOne.iOS Anybody know what I would get this error when upgrading to 1.3

    Friday, February 13, 2015 5:12 AM
  • User181 posted

    @markcarew, that looks like a problem due to an incomplete unified API upgrade. Make sure all of your components and assemblies are using either unified or classic and not a mix of the two.

    Friday, February 13, 2015 5:12 PM
  • User83124 posted

    I managed to fix this immediate problem by using manage NuGet packages to remove and reinstall Xamarin Forms for all but my portable project.

    Friday, February 13, 2015 9:17 PM
  • User83124 posted

    My Xamarin Forms Templates seem to be incorrect. When I select Add New Item and any of the Forms Templates, I get only a single .cs file rather than a xaml and xaml.cs file. I have tried to refresh the templates using devenv; but to no avail. I have recently upgraded to 1.3.3.? latest stable.

    Friday, February 13, 2015 10:40 PM
  • User352 posted

    Your templates are unaffected by your Xamarin.Forms package version. Please report a bug against XS or VS.

    Friday, February 13, 2015 11:56 PM
  • User83124 posted

    OK it's not bug; rather a misunderstanding. You just have to use the correct extension of .xaml to create the .xaml and .xaml.cs pair for files. If you leave the default .cs extension on the new name you get one .cs file only.

    Sunday, February 15, 2015 2:55 AM
  • User70005 posted

    I am trying to create main page using ViewFactory as below but I keep getting exception as shown below as well. Here is the code I am using to create page-

    ViewFactory.Register (); var home = ViewFactory.CreatePage(); MainPage= new NavigationPage (home);

    And this is the exception that I get-

    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Method not found: 'Xamarin.Forms.Binding..ctor'. at wpMobile.Views.BaseView..ctor () [0x00000] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\Views\BaseView.cs:13 at wpMobile.Views.MainMenuView..ctor () [0x00007] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\Views\MainMenuView.cs:43 at at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in :0 --- End of inner exception stack trace --- at at System.Reflection.MonoCMethod.InternalInvoke (object,object[]) at at System.Activator.CreateInstance (System.Type,bool) at at System.Activator.CreateInstance (System.Type) at at Xamarin.Forms.Labs.Mvvm.ViewFactory.CreatePage (System.Action`2) <0x00417> at wpMobile.App..ctor () [0x00093] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\App.cs:39 at wpMobile.Android.MainActivity.OnCreate (Android.OS.Bundle) [0x00011] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\Android\MainActivity.cs:26 at Android.App.Activity.nOnCreateLandroidosBundle_ (intptr,intptr,intptr) [0x00011] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs:2179 at at (wrapper dynamic-method) object.7326e589-a609-44c9-892a-c458585f9e8c (intptr,intptr,intptr)

    Monday, March 9, 2015 8:25 PM
  • User67477 posted

    Great work! Take a day off to celebrate! ;)

    Monday, March 9, 2015 8:25 PM
  • User67477 posted

    Great work! Take a day off to celebrate! ;)

    Monday, March 9, 2015 8:25 PM
  • User70005 posted

    I am trying to create main page using ViewFactory as below but I keep getting exception as shown below as well. Here is the code I am using to create page-

    ViewFactory.Register (); var home = ViewFactory.CreatePage(); MainPage= new NavigationPage (home);

    And this is the exception that I get-

    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Method not found: 'Xamarin.Forms.Binding..ctor'. at wpMobile.Views.BaseView..ctor () [0x00000] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\Views\BaseView.cs:13 at wpMobile.Views.MainMenuView..ctor () [0x00007] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\Views\MainMenuView.cs:43 at at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in :0 --- End of inner exception stack trace --- at at System.Reflection.MonoCMethod.InternalInvoke (object,object[]) at at System.Activator.CreateInstance (System.Type,bool) at at System.Activator.CreateInstance (System.Type) at at Xamarin.Forms.Labs.Mvvm.ViewFactory.CreatePage (System.Action`2) <0x00417> at wpMobile.App..ctor () [0x00093] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\wpMobile\App.cs:39 at wpMobile.Android.MainActivity.OnCreate (Android.OS.Bundle) [0x00011] in c:\Projects\wp-express\wp-mobile-xamarin\src\wpMobile\Android\MainActivity.cs:26 at Android.App.Activity.nOnCreateLandroidosBundle_ (intptr,intptr,intptr) [0x00011] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs:2179 at at (wrapper dynamic-method) object.7326e589-a609-44c9-892a-c458585f9e8c (intptr,intptr,intptr)

    Monday, March 9, 2015 8:25 PM