CSLA PropertyInfo Control for Xamarin Forms

  • Upload
    atul

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    1/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/

    Rockford Lhotka's Blog

    Home | Lhotka.net | CSLA .NET

      0 7 J U N E 2 0 1 6

    ASP.NET MVC edit collection of itemsA very common scenario for line of business apps is to edit a

    collection of items. Often this

    isn’t a bit collection, just a

    variable number of rows with a

    few columns to edit per row.

    The MVC scaffolding supports  this scenario by making it easy to

    create a set of pages – display the list, create a new item, edit

    an existing item, confirm removal of an item. And this

    scaffolding is quite useful, especially for scenarios where each

    row of data has a lot of properties to edit.

    Where it isn’t so useful is in another common case, where each

    row of data has a small number of properties to edit (and where

    there  are a relatively  small number of rows). In this case most

    users would prefer to just edit all the values on a single screen,

    not having to navigate to the create/edit/delete pages for each

    row, as that is quite awkward.

    What I’ve found is that there are some (ok, lots) of blog posts

    and code snippets showing ways to solve this problem. Much of 

    this content dates back many years, often to MVC 2, and shows

    what (in my view) are some pretty hacky solutions involving

    client-side JavaScript that manually creates html strings that

    replicate (often outdated) html comparable to that generated by

    MVC in Razor. Other solutions use WebGrid, a seemingly little-

    Google HostingServiceCustom Domain &Build Your Own SiteStart With Free

    Google Apps Trial.

    http://www.lhotka.net/weblog/ct.ashx?id=d19b222b-a39e-4c8d-91a3-882c00995169&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2f552b4674f9e5_FD86%2fthIDVUDFR8_2.jpghttp://www.lhotka.net/weblog/ct.ashx?id=d19b222b-a39e-4c8d-91a3-882c00995169&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2f552b4674f9e5_FD86%2fthIDVUDFR8_2.jpghttp://www.lhotka.net/weblog/ct.ashx?id=d19b222b-a39e-4c8d-91a3-882c00995169&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2f552b4674f9e5_FD86%2fthIDVUDFR8_2.jpghttp://www.lhotka.net/weblog/ASPNETMVCEditCollectionOfItems.aspxhttp://www.lhotka.net/weblog/default,date,2016-06-07.aspxhttp://www.lhotka.net/webloghttp://www.lhotka.net/http://www.cslanet.com/http://www.lhotka.net/webloghttps://www.googleadservices.com/pagead/aclk?sa=L&ai=CDSbnDWBYV-2jMomovASXhLKgCJvE5vZE1Kb0rNsCwI23ARABINjq6gtg5dLkg6gOoAHUsfrdA8gBAagDAcgDwwSqBHtP0JI7s5byEWTNhh8SqNR_xAyHlkWbM_PlhEPyFtSkCWupEu5mqD_bf3_CuKiMkXfVcFH9XMfr04Nw-QxpzdxKaSPPpy4SBL9fSdRgx7VNILZmaStoIv42TtL4wtyApMdRuYvquL2GGET50goYzsVYDefWKeHuEIiU_p-IBgGAB5TOhSKoB6a-G9gHAdgTCA&num=1&cid=CAASEuRoNyPtPaBOkjOGy7rz_97QRA&sig=AOD64_1KxLAkZZtESFtmidzhr-TBVeftSQ&client=ca-pub-4908425424216659&adurl=https://ad.doubleclick.net/ddm/clk/303140700%3B130180236%3Bdhttp://www.lhotka.net/webloghttps://www.googleadservices.com/pagead/aclk?sa=L&ai=CDSbnDWBYV-2jMomovASXhLKgCJvE5vZE1Kb0rNsCwI23ARABINjq6gtg5dLkg6gOoAHUsfrdA8gBAagDAcgDwwSqBHtP0JI7s5byEWTNhh8SqNR_xAyHlkWbM_PlhEPyFtSkCWupEu5mqD_bf3_CuKiMkXfVcFH9XMfr04Nw-QxpzdxKaSPPpy4SBL9fSdRgx7VNILZmaStoIv42TtL4wtyApMdRuYvquL2GGET50goYzsVYDefWKeHuEIiU_p-IBgGAB5TOhSKoB6a-G9gHAdgTCA&num=1&cid=CAASEuRoNyPtPaBOkjOGy7rz_97QRA&sig=AOD64_1KxLAkZZtESFtmidzhr-TBVeftSQ&client=ca-pub-4908425424216659&adurl=https://ad.doubleclick.net/ddm/clk/303140700%3B130180236%3Bdhttp://www.lhotka.net/weblog/ct.ashx?id=d19b222b-a39e-4c8d-91a3-882c00995169&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2f552b4674f9e5_FD86%2fthIDVUDFR8_2.jpghttp://www.lhotka.net/weblog/ASPNETMVCEditCollectionOfItems.aspxhttp://www.lhotka.net/weblog/default,date,2016-06-07.aspxhttp://www.cslanet.com/http://www.lhotka.net/http://www.lhotka.net/webloghttp://www.lhotka.net/weblog

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    2/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 2

    used feature of MVC that also needs some (less hacky)

    JavaScript to support editing.

    For my purposes, I wanted something simpler, more direct. I

    don’t mind some postbacks – you’d get those with the standard

    MVC scaffolding – I just want the user to feel like they are just

    editing the list of items without a lot of page navigation.Something like this:

    I also don’t mind using Session in this case, because I’m

    building something that will, at most, be used by 0.3% of our

    employee base, which is currently around 600 people. If we

    grow enough that scaling is an issue we’ll obviously have

    To that end I created a new ASP.NET MVC 5 project in Visual

    Studio 2015 and added the files in this gist  that contain the

    implementation.

    The ProjectListController serves up the initial page, and accepts

    POST operations from the browser.

    The Index method displays the page with the collection data. If 

    Session is empty the data is loaded from the database,

    otherwise the cached Session data is used to populate the page.

    Typically this means that the first time the user arrives at the

    page they’ll get fresh data from the database, and on postback

    operations the data will come from Session. Basically I’m using

    Session as an in-memory scratch location for the data until all

    edits are complete and the user clicks the button to save the

    data.

    http://www.lhotka.net/weblog/ct.ashx?id=d19b222b-a39e-4c8d-91a3-882c00995169&url=https%3a%2f%2fgist.github.com%2frockfordlhotka%2f0474af9cf53cec9f2d359fa413d61e73http://www.lhotka.net/weblog/ct.ashx?id=d19b222b-a39e-4c8d-91a3-882c00995169&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2f552b4674f9e5_FD86%2fsnip_20160607190309_2.png

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    3/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 3

    The POST method works differently depending on the button

    clicked by the user, handling add, remove, cancel, and submit

    operations. The operation is indicated by the value of the

    button, which flows into the controller through a method

    parameter. In every case the POST method has the full contents

    of the collection from the UI that flows from the browser into

    the method.

    The add operation adds a new/empty item to the collection,

    updates the state in Session and allows the page to be

    redisplayed. This means the newly added item appears to the

    user, but hasn’t been saved to the database.

    The remove operation removes the selected item or items from

    the collection, updates the state in Session and allows the pageto be redisplayed. This means the removed items are no longer

    displayed, but haven’t been removed from the database.

    The cancel/refresh operation clears Session and redisplays the

    page, causing the page to display fresh data from the database.

    The submit operation saves the data into the database, then

    clears Session to ensure that when the page is redisplayed that

    the user gets fresh data from the database (including the newly

    saved changes).

    The Index.cshtml view implements the page, relying on the

    Person.cshtml view to display each row of data from the

    collection. The Index view has all the buttons the user can click

    to trigger the postback operations to the controller as I just

    described.

    The Person.cshtml view creates the edit controls for the

    properties the user should view/edit for each row.

    The Person.cs file implements the model – really the viewmodel .

    Notice that it has a Removed property which is very UI specific,

    so this clearly isn’t the actual   model you’d ever get/save in a

    database.

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    4/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 4

    The controller has TODO comments indicating where code

    should go to invoke the data access layer to retrieve and update

    the database based on the in-memory collection of Person

    objects.

    ASP.NET MVC

    07 June 2016 18:03:58 (Central Standard Time, UTC-06:00)Disclaimer 

    0 1 J U N E 2 0 1 6

    CSLA .NET Version 4.6.400

    releasedThis release of CSLA .NET  isfocused primarily on enhancing

    the existing Xamarin support.

    There is now a Csla.dll targeting

    PCL Profile111, which is the

    current profile for Xamarin.Forms

    projects and .NET Core.

    There is also now a CSLA-Xamarin NuGet package that includes

    a Csla.Xaml.dll with support for Xamarin.Forms. This includes

    the same viewmodel base classes as the other XAML platforms,

    and an implementation of the PropertyInfo  control tailored for use

    in Xamarin.Forms.

    @JasonBock  added even more analyzers for Visual Studio 2015

    to help developers avoid common coding mistakes when

    building CSLA .NET  business classes.

    We now have support for the prerelease of Entity Framework 7.

    The pt and pt-BR resources for Csla.dll have been updated.

    Other languages need updates as well - please contribute

    if you are a native speaker!

    http://www.lhotka.net/weblog/ct.ashx?id=bbb27fba-feae-412f-af88-36afada95239&url=http%3a%2f%2fwww.cslanet.com%2fhttp://www.lhotka.net/weblog/ct.ashx?id=bbb27fba-feae-412f-af88-36afada95239&url=https%3a%2f%2fgithub.com%2fJasonBockhttp://www.lhotka.net/weblog/ct.ashx?id=bbb27fba-feae-412f-af88-36afada95239&url=http%3a%2f%2fwww.cslanet.com%2fhttp://www.lhotka.net/weblog/ct.ashx?id=bbb27fba-feae-412f-af88-36afada95239&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2fCSLA-.NET-Version-4.6.400-released_937A%2fcsla%2520win8_full_2.pnghttp://www.lhotka.net/weblog/CSLANETVersion46400Released.aspxhttp://www.lhotka.net/weblog/default,date,2016-06-01.aspxhttp://www.lhotka.net/weblog/FormatPage.aspx?path=siteConfig/disclaimer.format.htmlhttp://www.lhotka.net/weblog/ASPNETMVCEditCollectionOfItems.aspxhttp://www.lhotka.net/weblog/CategoryView,category,ASP.NET%2BMVC.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    5/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 5

    There is a new way to customize the server-side data portal by

    implementing an interceptor that is invoked via the new

    DataPortalBroker. (#564)

    Full details:

    https://github.com/MarimerLLC/csla/releases/tag/v4.6.400

    The assemblies and packages are all available via NuGet.

    .NET Core  | CSLA .NET  | Xamarin

    01 June 2016 09:33:18 (Central Standard Time, UTC-06:00)Disclaimer 

    2 6 M A Y 2 0 1 6

    CSLA PropertyInfo control forXamarin FormsThere is now a

    Csla.Xaml.PropertyInfo control for

    Xamarin Forms as well as

    WPF/UWP, so you can use the

    same technique to access all

    metastate about each property

    from your XAML.

    This means that (now on Xamarin

    too) you can bind to the property

    value, as well as CanRead, CanWrite, IsValid, IsBusy, and

    various other metastate values.

    Using this capability your XAML UI can provide the user with

    immediate and rich visual cues as to whether the user is allowed

    to read or write the property value, and whether the current

    property value is valid (and if not, why), as well as whether the

    property has any outstanding async business rules currently

    executing.

    http://www.lhotka.net/weblog/ct.ashx?id=96c5b81a-80df-493c-9a7f-fad7241e6eab&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2fCSLA-PropertyInfo-control-for-Xamarin-Fo_EDD4%2fth7JTBT6D7_2.jpghttp://www.lhotka.net/weblog/CSLAPropertyInfoControlForXamarinForms.aspxhttp://www.lhotka.net/weblog/default,date,2016-05-26.aspxhttp://www.lhotka.net/weblog/FormatPage.aspx?path=siteConfig/disclaimer.format.htmlhttp://www.lhotka.net/weblog/CSLANETVersion46400Released.aspxhttp://www.lhotka.net/weblog/CategoryView,category,Xamarin.aspxhttp://www.lhotka.net/weblog/CategoryView,category,CSLA%2B.NET.aspxhttp://www.lhotka.net/weblog/CategoryView,category,.NET%2BCore.aspxhttp://www.lhotka.net/weblog/ct.ashx?id=bbb27fba-feae-412f-af88-36afada95239&url=http%3a%2f%2fwww.nuget.org%2fpackages%3fq%3d%2522csla%2b.net%2522http://www.lhotka.net/weblog/ct.ashx?id=bbb27fba-feae-412f-af88-36afada95239&url=https%3a%2f%2fgithub.com%2fMarimerLLC%2fcsla%2freleases%2ftag%2fv4.6.400http://www.lhotka.net/weblog/ct.ashx?id=bbb27fba-feae-412f-af88-36afada95239&url=https%3a%2f%2fgithub.com%2fmarimerllc%2fcsla%2fissues%2f564

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    6/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 6

    In short, all the goodness that WPF/Silverlight/UWP developers

    have enjoyed over the past many years is now available on

    Xamarin!

    (or will be once CSLA .NET  4.6.400 releases in about a week –

    though you can try it now with the 4.6.400 prerelease available

    via NuGet)

    CSLA .NET  | Xamarin

    26 May 2016 15:57:07 (Central Standard Time, UTC-06:00)Disclaimer 

    2 5 M A Y 2 0 1 6

    mono DisplayAttribute problemreproThe CSLA PCL that supports Xamarin includes an

    implementation of System.ComponentModel.DataAnnotations, and that

    includes numerous types, one of which is DisplayAttribute.

    The PCL uses type forwarding so at runtime the platform'sDataAnnotations implementation is used (if available), and the

    CSLA implementation is only used at runtime for platforms

    where there's not already an implementation (WinRT Phone is

    the only remaining platform afaik).

    There is a problem with Xamarin however, where all types seem

    to forward and work fine except   for DisplayAttribute. The problem

    in this case is that at runtime it seems that mono is unable tolocate the correct ctor for the type:

    "System.MissingMethodException: Method 'DisplayAttribute..ctor' not foun

    pe type, System.String name) [0x00011] in :0 \n at Cs

    This exception occurs when the consume app attempts to access

    http://www.lhotka.net/weblog/monoDisplayAttributeProblemRepro.aspxhttp://www.lhotka.net/weblog/default,date,2016-05-25.aspxhttp://www.lhotka.net/weblog/FormatPage.aspx?path=siteConfig/disclaimer.format.htmlhttp://www.lhotka.net/weblog/CSLAPropertyInfoControlForXamarinForms.aspxhttp://www.lhotka.net/weblog/CategoryView,category,Xamarin.aspxhttp://www.lhotka.net/weblog/CategoryView,category,CSLA%2B.NET.aspxhttp://www.lhotka.net/weblog/ct.ashx?id=96c5b81a-80df-493c-9a7f-fad7241e6eab&url=http%3a%2f%2fwww.cslanet.com%2f

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    7/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 7

    the DisplayAttribute  associated with a property to retrieve values

    from the attribute. It appears that mono is unable to create an

    instance of the attribute object because it can't find the ctor.

    The DisplayAttribute  class has only a default ctor, but is typically

    initialized using named parameters, such as:

    [Display(Name = "foo")]

    I don't know what kind of ctor mono is looking for when it fails,

    but it obviously isn't finding the default ctor and then setting the

    property value, which is what would be the expected behavior.

    I’m tracking this issue in the CSLA GitHub repo:

    https://github.com/MarimerLLC/csla/issues/579

    Steps to reproduce issue

    The CSLA ProjectTracker reference app in my fork includes a

    repro of this issue. To see the issue, do the following:

    1. Clone my fork of CSLA from

    https://github.com/rockfordlhotka/csla.git

    2. Checkout the 505-xamarin branch:https://github.com/rockfordlhotka/csla/tree/505-xamarin

    3. Open the \Samples\ProjectTracker\ProjectTracker.sln

    solution

    4. Build the solution – it’ll pull down the CSLA .NET  framework

    from NuGet

    5. Set a breakpoint in the

    XamarinFormsUi.ViewModels.ProjectList class as shown

    here

    6. Set the startup app to ProjectTracker.Ui.Xamarin.Droid

    7. Run the app in debug mode (on an emulator or device)

    http://www.lhotka.net/weblog/ct.ashx?id=ca52b691-9ff6-48f2-b59a-2d59cfa8a444&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2fmono-DisplayAttribute-problem-repro_C06D%2fsnip_20160525134558_2.pnghttp://www.lhotka.net/weblog/ct.ashx?id=ca52b691-9ff6-48f2-b59a-2d59cfa8a444&url=http%3a%2f%2fwww.cslanet.com%2fhttp://www.lhotka.net/weblog/ct.ashx?id=ca52b691-9ff6-48f2-b59a-2d59cfa8a444&url=https%3a%2f%2fgithub.com%2frockfordlhotka%2fcsla%2ftree%2f505-xamarinhttp://www.lhotka.net/weblog/ct.ashx?id=ca52b691-9ff6-48f2-b59a-2d59cfa8a444&url=https%3a%2f%2fgithub.com%2frockfordlhotka%2fcsla.githttp://www.lhotka.net/weblog/ct.ashx?id=ca52b691-9ff6-48f2-b59a-2d59cfa8a444&url=https%3a%2f%2fgithub.com%2fMarimerLLC%2fcsla%2fissues%2f579

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    8/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 8

    8. On the first screen click the All Projects button

    That’ll attempt to load the ProjectList page and ProjectList

    viewmodel. At this point the exception will occur and you’ll end

    up on the breakpoint because of the failure to create an

    instance of ProjectInfo, but that fails because mono can’t create

    an instance of DisplayAttribute (used on some properties in the

    ProjectInfo class).

    CSLA .NET  | mono  | Xamarin

    25 May 2016 12:51:26 (Central Standard Time, UTC-06:00)

    Disclaimer 

    2 0 M A Y 2 0 1 6

    ctor bug in Xamarin/mono?I might have found a bug in mono, but want to see if anyone

    thinks I'm missing something.

    The CSLA .NET  framework has long included an implementation

    of the System.ComponentModel.DataAnnotations namespace  for

    platforms where Microsoft/Xamarin didn’t provide that

    functionality. These days I think that is only Windows Phone 8.1,

    but that includes PCL Profile111 (which is what Xamarin

    currently targets as well).

    http://www.lhotka.net/weblog/ct.ashx?id=bd071c26-0be6-4683-9e17-883a30cd5860&url=https%3a%2f%2fgithub.com%2fMarimerLLC%2fcsla%2ftree%2fmaster%2fSource%2fCsla.Shared%2fDataAnnotationshttp://www.lhotka.net/weblog/ct.ashx?id=bd071c26-0be6-4683-9e17-883a30cd5860&url=http%3a%2f%2fwww.cslanet.com%2fhttp://www.lhotka.net/weblog/ctorBugInXamarinmono.aspxhttp://www.lhotka.net/weblog/default,date,2016-05-20.aspxhttp://www.lhotka.net/weblog/FormatPage.aspx?path=siteConfig/disclaimer.format.htmlhttp://www.lhotka.net/weblog/monoDisplayAttributeProblemRepro.aspxhttp://www.lhotka.net/weblog/CategoryView,category,Xamarin.aspxhttp://www.lhotka.net/weblog/CategoryView,category,mono.aspxhttp://www.lhotka.net/weblog/CategoryView,category,CSLA%2B.NET.aspxhttp://www.lhotka.net/weblog/ct.ashx?id=ca52b691-9ff6-48f2-b59a-2d59cfa8a444&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2fmono-DisplayAttribute-problem-repro_C06D%2fsnip_20160525134836_2.png

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    9/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 9

    Of course the CSLA implementation includes the

    DisplayAttribute class, which is used to decorate properties in

    consuming classes like this:

    [Display(Name = "blah")]

    That "blah" value is a human readable name/label for a

    property.

    Because mono actually provides a

    System.ComponentModel.DataAnnotations implementation, my

    PCL uses type forwarding so at runtime the PCL implementation

    is ignored in favor of the platform-specific implementation

    provided by mono. For example:

    [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System

    This works great on all platforms - except Xamarin Android/iOS

    where mono throws an exception because it can't find a

    matching constructor.

    The thing is that the DisplayAttribute class has only the default

    constructor. The syntax being used to set the Name property of 

    the attribute is supposed to use the default ctor, and then the

    Name property is explicitly set. This is a relatively old feature of 

    C# - but I kind of suspect mono has a bug around this area, as

    it seems to be looking for a ctor that accepts a parameter when

    it should use the default ctor.

    mono  | Xamarin

    20 May 2016 15:40:28 (Central Standard Time, UTC-06:00)Disclaimer 

    2 6 A P R I L 2 0 1 6

    http://www.lhotka.net/weblog/default,date,2016-04-26.aspxhttp://www.lhotka.net/weblog/FormatPage.aspx?path=siteConfig/disclaimer.format.htmlhttp://www.lhotka.net/weblog/ctorBugInXamarinmono.aspxhttp://www.lhotka.net/weblog/CategoryView,category,Xamarin.aspxhttp://www.lhotka.net/weblog/CategoryView,category,mono.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    10/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 10

    Thoughts from a Windows 10 userThere’s a lot of speculation at

    the moment, mostly I think from

    the tech press, that there’s no

    future for Windows 10 Mobile

    (aka Windows Phone). To the

    point that Terry Myerson

    apparently released a statement to clarify that Microsoft is

    committed to mobile for many years.

    Over the past couple years I’ve been increasingly critical of 

    Microsoft’s mobile strategy as well – it is hard not to be when

    the platform has such low market share, there’s been a lack of 

    flagship devices released, and there’s still a major issue withapps (that don’t exist or that are quite poor compared to

    iPhone/Android versions).

    So at the beginning of this year I “threw in the towel” and

    switched to the iPhone. This was after talking to a lot of people

    in person and via twitter about whether to go iPhone or Android.

    The overwhelming advice was that if you live in the US you

    should go iPhone, so I did exactly that.

    After a couple weeks with the iPhone I wrote a comparison

    between Windows 10 Mobile and the iPhone  – from my

    perspective. I’m selfish – I’m looking for a good answer for me,

    so my blog post was about me and my personal experience.

    After a couple more months I realized that this is a real tradeoff,

    because Windows 10 Mobile the operating system  is more

    consistent and polished than iOS, but the apps on the iPhoneare almost universally superior.

    At that point I thought I’d try Android. This was right after

    Microsoft Build 2016, where it seemed like there was a lot of 

    love for Android, and where I encountered a whole lot of my

    peers who were incredulous that I had an iPhone instead of an

    Android (where they were last fall when I was soliciting input I

    http://www.lhotka.net/weblog/ct.ashx?id=be6d4e13-99c0-44be-ac8b-4c9f1648192a&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fMyWindowsPhoneVsIPhoneComparison.aspxhttp://www.lhotka.net/weblog/ct.ashx?id=be6d4e13-99c0-44be-ac8b-4c9f1648192a&url=http%3a%2f%2fwww.windowscentral.com%2fmicrosofts-committed-windows-10-mobilehttp://www.lhotka.net/weblog/ct.ashx?id=be6d4e13-99c0-44be-ac8b-4c9f1648192a&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2fThoughts-from-a-Windows-10-user_E1DE%2fthHU21A440_2.jpghttp://www.lhotka.net/weblog/ThoughtsFromAWindows10User.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    11/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 1

    have no idea – I begin to suspect that people only advocate for

    their platform when you have “the other platform” in your

    pocket). Basically, some of the iOS frustrations and

    inconsistencies  were bugging me enough I wanted to look

    elsewhere.

    I didn’t even last a couple weeks on Android though. I bought aOnePlus 2 – a high-end device with very generic Android. It

    turns out that generic Android pretty much sucks – much like

    generic Linux. You need to spend (in my experience) hours and

    hours and hours researching and trying different launchers, lock

    screen apps, email apps, calendar apps, contact apps, etc. Just

    to get basic functionality   that works out of the box in the iPhone

    and Windows 10. O.M.G. I don’t understand how people can

    waste that much time just getting the basics to work on theirphones!?!

    Now I’m back to Windows 10 with a Lumia 950xl. And I’m

    happy.

    I keep hearing how Windows “lacks polish”. Clearly this

    statement is being made by people who have not actually used

    Windows 10, iOS, and Android back to back like I just did. Insome ways iOS might have more polish, but it is far, far less

    consistent than Windows, so I give the OS polish nod to

    Windows 10. Android isn’t even in the running – it has no polish

    or   consistency – though maybe with another many hours of 

    research and testing I could have found a launcher that I liked?

    That’s not how I want to spend my life.

    I also keep hearing about the Windows “app gap”. That is

    obviously a real problem. It is absolutely the case that the

    iPhone has a lot more apps, and almost all the apps are

    superior. It is also the case that the Android apps are plentiful,

    but they generally look like crap compared to their iOS

    counterparts. But I’ll give it to Android that, though its apps are

    inconsistent and often cartoonish, they are full featured, unlike

    Windows apps.

    http://www.lhotka.net/weblog/ct.ashx?id=be6d4e13-99c0-44be-ac8b-4c9f1648192a&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fWindowsToIPhoneToAndroid.aspxhttp://www.lhotka.net/weblog/ct.ashx?id=be6d4e13-99c0-44be-ac8b-4c9f1648192a&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fiPhoneFrustration.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    12/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 12

    One other note on apps: Android is clearly designed to work well

    if you are a Google user (mail/calendar/contacts) and it is pretty

    half-baked for people not on Google. I can’t say I support the

    EU going after Google  any more than I did when they went after

    Microsoft so long ago – I think that’s just dumb – but at the

    same time, I understand their consistent view here, because

    Google is  using Android to drive usage and lock-in around theircloud service offerings, not unlike what Microsoft did 20 years

    ago with Windows.

    Finally, I keep hearing how Windows phone hardware is inferior.

    I even heard that from someone at Microsoft. I’m skeptical. It is

    true that the iPhone 6s is a really nice device, and I love  the

    fingerprint unlock feature. Android device quality varies a lot,

    but the OnePlus 2 is pretty nice (if a bit heavy) and has afingerprint reader (if you can find a lock screen app that

    supports it). The Lumia 950 is nicer and lighter than the Android

    devices I’ve seen and used (including the Samsung ones). But

    I’ll grant that it isn’t as nice as the iPhone. At the end of the day

    though, I think all three platforms have hardware that are

    basically in the same ballpark: reasonably stylish, light, fast,

    with decent battery life, and great cameras. If it was just down

    to hardware my ranking would be iPhone 6s, Lumia 950,Samsung Android, other Android – in that order.

    At this point though I’ll remind you that I’m selfish here – I’m

    after a solution for me.

    That means it comes down to iPhone vs Windows 10 Mobile –

    the Android OS is too unpolished, clumsy, and inefficient; and

    its apps are too ugly, inconsistent, and cartoonish. It is clearlythe cheapest platform, and you get what you pay for. I’m willing

    to pay to get a more productive experience.

    And at the end of the day there are only 3 apps that don’t exist

    or don’t work on Windows that I actually need: Swarm, Waze,

    and the Parrott Bebop app for my drone.

    My bank does have an app on iPhone/Android, but it sucks

    http://www.lhotka.net/weblog/ct.ashx?id=be6d4e13-99c0-44be-ac8b-4c9f1648192a&url=http%3a%2f%2fwww.newser.com%2fstory%2f205457%2feurope-is-going-after-google.html

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    13/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 13

    and so not having it isn’t really a loss. To solve my bank app

    issue I need to switch to a better bank, not a different phone.

    I weighed the value of those 3 apps against Windows 10’s more

    polished and consistent OS experience; and I considered that

    Siri is like Cortana’s dullard older sister (yes, Siri is really an

    idiot compared to Cortana, and Cortana on the iPhone iscrippled compared to Windows or Android).

    Ultimately I’ve decided that I’d rather go with the best OS on a

    regular basis. In my case I’m fortunate enough that I can carry

    a second phone (sans SIM) so I can still fly my drone – it just

    needs the app and wifi after all. That also gets me Waze and

    Swarm, because they also work over wifi, and my Lumia works

    great as a wifi hotspot when I’m out and about.

    At the end of the day, until Foursquare, Google, and Parrot (and

    my bank) get their heads out of their @$$’s I am working

    around them via a two phone solution.

    But most importantly , I’m happy using Windows 10 and Cortana

    for my 99% use case of 

    email/calendar/phone/text/messaging/Office/etc.

    And fwiw, I think the continued rapid adoption of Windows 10

    itself (on my Surface and Desktop for example) will drive more

    and more companies to create UWP apps – perhaps not initially

    for the phone, but at least for the 300 million (and climbing)

    people running Windows 10. The thing is, once your app runs in

    UWP, getting to the phone is a pretty small step – and one

    companies would be foolish not to do  for such little effort.

    Android  | iOS  | Windows 10  | Windows Phone

    26 April 2016 15:46:05 (Central Standard Time, UTC-06:00)Disclaimer 

    1 4 A P R I L 2 0 1 6

    http://www.lhotka.net/weblog/default,date,2016-04-14.aspxhttp://www.lhotka.net/weblog/FormatPage.aspx?path=siteConfig/disclaimer.format.htmlhttp://www.lhotka.net/weblog/ThoughtsFromAWindows10User.aspxhttp://www.lhotka.net/weblog/CategoryView,category,Windows%2BPhone.aspxhttp://www.lhotka.net/weblog/CategoryView,category,Windows%2B10.aspxhttp://www.lhotka.net/weblog/CategoryView,category,iOS.aspxhttp://www.lhotka.net/weblog/CategoryView,category,Android.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    14/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 14

    Windows to iPhone to AndroidEarlier this year I embarked on an “adventure”. I was frustrated

    with the lack of apps on Windows Phone (Windows 10) and I

    keep hearing how magical the iPhone is for people. After a

    couple weeks with the iPhone I wrote a comparison blog post:

    Windows Phone vs iPhone comparison

    More recently I wrote about my ongoing frustrating with the

    iPhone, justifying why I was going to try an Android device:

    iPhone frustration

    I’m trying to give each platform a fair try, but after a few short

    days with Android (I have a OnePlus 2 – so very “vanilla” 

    Android) I’m already finding that of the three operating systemsAndroid is the worst. It is kind of like desktop Linux – cobbled

    together by a lot of people who don’t share a common vision, so

    everything sort of works, but nothing feels consistent and most

    things don’t seem professional or polished. Kind of the diametric

    opposite of the iPhone.

    I’ve always thought that you get what you pay for, and I think

    Android reinforces that worldview. It is cheap, the devices arecheap, the apps are free or cheap. And they all feel cheap  when

    compared to Windows 10 or iOS. But if your phone isn’t a

    budgetary priority in your life, yet you need a smartphone, then

    Android is probably the right choice – which explains why it is

    the most popular OS globally. Clearly the majority of the world’s

    population either can’t afford a professional phone/experience

    (which is largely true of course), or they don’t value their own

    time as much as money, so they are willing to invest that timedealing with Android instead of spending the extra money up

    front to get an iPhone or Windows Phone.

    Notice that I’m still putting Windows Phone in this discussion,

    even though it has a low US market share, and only a slightly

    better global market share. In my experience with the three

    platforms thus far, my conclusion is that the operating systems

    http://www.lhotka.net/weblog/ct.ashx?id=c4a3546b-dfa7-4109-b3d0-b8cfb7594223&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fiPhoneFrustration.aspxhttp://www.lhotka.net/weblog/ct.ashx?id=c4a3546b-dfa7-4109-b3d0-b8cfb7594223&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fct.ashx%3fid%3d7ee4c54f-f4e9-44f5-9e63-981f5a4dda0c%26url%3dhttp%253a%252f%252fwww.lhotka.net%252fweblog%252fMyWindowsPhoneVsIPhoneComparison.aspxhttp://www.lhotka.net/weblog/WindowsToIPhoneToAndroid.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    15/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 15

    rank like this:

    1. Windows 10

    2. iOS

    3. Android

    The physical devices I’ve been using rank like this:

    1. iPhone 6s

    2. Lumia 950xl

    3. OnePlus 2

    The availability and quality of apps rank like this:

    1. iOS

    2. Android

    3. Windows 10

    If you assign numeric scores to each category, you end up with

    the following overall ratings:

    iPhone (8)

    Windows 10 (6)

    Android (4)

    So at least in my opinion – based on how I use my phone and

    what I expect out of it – I probably should keep using my

    iPhone, and keep grumbling about how dumb Siri is compared

    to Cortana. Or I should go back to Windows 10 and deal with

    the sad reality that it doesn’t have workable Waze, Swarm, or

    banking apps.

    A lot of people I know do carry two phones (personal and work).

    I’m sort of considering carrying 2 devices  – a Windows phone

    with a SIM as my primary (so I have Cortana and all the other

    stuff I love about Win10) and an iPhone without a SIM to run

    the apps that don’t exist on Win10, because they all run over

    WiFi. Just a little twist on the work/personal dual phone scenario

    – but in my case I’ll have one phone that’s fun to use (Win10),

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    16/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 16

    and one phone that runs apps that are fun to use  (iPhone).

    14 April 2016 08:53:23 (Central Standard Time, UTC-06:00)Disclaimer 

    0 8 A P R I L 2 0 1 6

    iPhone frustrationEarlier today I tweeted that I have

    an Android phone on order,

    because I’m frustrated with my

    iPhone.

    Not surprisingly that resulted in

    people wondering why I’m

    frustrated.

    My iPhone experience started in

    mid-January when I switched from

    Windows 10 Mobile to iOS because I was frustrated by the lack

    of apps on my Windows phone. A couple weeks later I wrote up

    my Windows Phone vs iPhone comparison. After a couple more

    months of using the iPhone I stand by what I wrote in that post

    – Windows 10 is far superior to iOS, but the lack of apps on

    Windows phones is crippling.

    But there are some things that really bug me about the iPhone –

    frustrations I face literally every day. Most notably:

    No live tiles – man do I miss live tiles!Cortana on the iPhone is crippled, and Siri is an idiot

    The “back navigation” concept on the iPhone is ridiculously

    inconsistent and poorly implemented

    The concept of sharing from one app to another is robust

    on iOS, but is also ridiculously inconsistent and convoluted

    So many things that are simple on Win10Mobile require a

    lot   more taps/swipes/effort on iOS

    http://www.lhotka.net/weblog/ct.ashx?id=7ee4c54f-f4e9-44f5-9e63-981f5a4dda0c&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fMyWindowsPhoneVsIPhoneComparison.aspxhttp://www.lhotka.net/weblog/ct.ashx?id=7ee4c54f-f4e9-44f5-9e63-981f5a4dda0c&url=http%3a%2f%2fwww.lhotka.net%2fweblog%2fcontent%2fbinary%2fOpen-Live-Writer%2f8425ce6a3ed9_DC78%2fthO531UYN9_2.jpghttp://www.lhotka.net/weblog/iPhoneFrustration.aspxhttp://www.lhotka.net/weblog/default,date,2016-04-08.aspxhttp://www.lhotka.net/weblog/FormatPage.aspx?path=siteConfig/disclaimer.format.htmlhttp://www.lhotka.net/weblog/WindowsToIPhoneToAndroid.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    17/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 17

    I know that Android won’t solve or address all these issues.

    Maybe it won’t address any of them, I won’t know until I try it.

    And I say that based on my experience switching to the iPhone;

    everybody prioritizes different features and abilities differently,

    so I find it virtually impossible to get at the “reality” of each OS

    by talking to other people.

    Here’s what I think   I will find on Android:

    No live tiles – still my number 1 issue with any other phone

    OS

    Cortana on Android is reputed to be much better than iOS;

    almost as good as Windows; and the new Windows 10

    Anniversary Edition mobile integration features  work with

    Android as well as Windows 10 Mobile (but not iOS)Android has a back button, so I am hopeful the “back

    navigation” experience will be more consistent than iOS

    (which is, frankly, a very low bar)

    I don’t know what to expect about inter-app sharing, but I

    suspect Android is no better than iOS (and let’s be honest,

    this is also a weak spot for Windows phones)

    I also don’t know that Android will be as optimized for

    common tasks as Win10, but I can’t imagine it will be moreawkward than iOS

    At the end of the day though, my three daily frustrations are

    simple:

    1. Live tiles (and the lack thereof)

    2. Cortana

    3. Consistent navigation patterns (especially the back

    navigation concept)

    Android seems to have a good chance of addressing two of the

    three, so perhaps I’ll be happier day to day than I am with the

    iPhone?

    I guess time will tell. At least I’ll be able to know first-hand how

    all three mobile operating systems work for me.

    http://www.lhotka.net/weblog/ct.ashx?id=7ee4c54f-f4e9-44f5-9e63-981f5a4dda0c&url=http%3a%2f%2fwww.windowscentral.com%2fwindows-10-anniversary-update-features

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    18/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 18

    Windows Phone

    08 April 2016 14:58:49 (Central Standard Time, UTC-06:00)Disclaimer 

    O n this page....

    ASP.NET MVC edit collection of

    items

    CSLA .NET Version 4.6.400

    released

    CSLA PropertyInfo control for

    Xamarin Forms

    mono DisplayAttribute problemrepro

    ctor bug in Xamarin/mono?

    Thoughts from a Windows 10

    user

    Windows to iPhone to Android

    iPhone frustration

    Searc h

      Search

    A rc hiv es

    June, 2016 (2)

    May, 2016 (3)

    April, 2016 (4)

    March, 2016 (1)

    February, 2016 (7)

    January, 2016 (4)

    http://www.lhotka.net/weblog/default,month,2016-01.aspxhttp://www.lhotka.net/weblog/default,month,2016-02.aspxhttp://www.lhotka.net/weblog/default,month,2016-03.aspxhttp://www.lhotka.net/weblog/default,month,2016-04.aspxhttp://www.lhotka.net/weblog/default,month,2016-05.aspxhttp://www.lhotka.net/weblog/default,month,2016-06.aspxhttp://feeds.feedburner.com/RockfordLhotkahttp://www.lhotka.net/weblog/FormatPage.aspx?path=siteConfig/disclaimer.format.htmlhttp://www.lhotka.net/weblog/iPhoneFrustration.aspxhttp://www.lhotka.net/weblog/CategoryView,category,Windows%2BPhone.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    19/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 19

    December, 2015 (4)

    November, 2015 (2)

    October, 2015 (2)

    September, 2015 (3)

    August, 2015 (3)

    July, 2015 (2)

    June, 2015 (2)

    May, 2015 (1)

    February, 2015 (1)

    January, 2015 (1)

    October, 2014 (1)

    August, 2014 (2)

    July, 2014 (3)

    June, 2014 (4)

    May, 2014 (2)

    April, 2014 (6)

    March, 2014 (4)

    February, 2014 (4)

    January, 2014 (2)

    December, 2013 (3)

    October, 2013 (3)

    August, 2013 (5)

    July, 2013 (2)

    May, 2013 (3)

    April, 2013 (2)

    March, 2013 (3)

    http://www.lhotka.net/weblog/default,month,2013-03.aspxhttp://www.lhotka.net/weblog/default,month,2013-04.aspxhttp://www.lhotka.net/weblog/default,month,2013-05.aspxhttp://www.lhotka.net/weblog/default,month,2013-07.aspxhttp://www.lhotka.net/weblog/default,month,2013-08.aspxhttp://www.lhotka.net/weblog/default,month,2013-10.aspxhttp://www.lhotka.net/weblog/default,month,2013-12.aspxhttp://www.lhotka.net/weblog/default,month,2014-01.aspxhttp://www.lhotka.net/weblog/default,month,2014-02.aspxhttp://www.lhotka.net/weblog/default,month,2014-03.aspxhttp://www.lhotka.net/weblog/default,month,2014-04.aspxhttp://www.lhotka.net/weblog/default,month,2014-05.aspxhttp://www.lhotka.net/weblog/default,month,2014-06.aspxhttp://www.lhotka.net/weblog/default,month,2014-07.aspxhttp://www.lhotka.net/weblog/default,month,2014-08.aspxhttp://www.lhotka.net/weblog/default,month,2014-10.aspxhttp://www.lhotka.net/weblog/default,month,2015-01.aspxhttp://www.lhotka.net/weblog/default,month,2015-02.aspxhttp://www.lhotka.net/weblog/default,month,2015-05.aspxhttp://www.lhotka.net/weblog/default,month,2015-06.aspxhttp://www.lhotka.net/weblog/default,month,2015-07.aspxhttp://www.lhotka.net/weblog/default,month,2015-08.aspxhttp://www.lhotka.net/weblog/default,month,2015-09.aspxhttp://www.lhotka.net/weblog/default,month,2015-10.aspxhttp://www.lhotka.net/weblog/default,month,2015-11.aspxhttp://www.lhotka.net/weblog/default,month,2015-12.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    20/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 20

    February, 2013 (7)

    January, 2013 (4)

    December, 2012 (3)

    November, 2012 (3)

    October, 2012 (7)

    September, 2012 (1)

    August, 2012 (4)

    July, 2012 (3)

    June, 2012 (5)

    May, 2012 (4)

    April, 2012 (6)

    March, 2012 (10)

    February, 2012 (2)

    January, 2012 (2)

    December, 2011 (4)

    November, 2011 (6)

    October, 2011 (14)

    September, 2011 (5)

    August, 2011 (3)

    June, 2011 (2)

    May, 2011 (1)

    April, 2011 (3)

    March, 2011 (6)

    February, 2011 (3)

    January, 2011 (6)

    http://www.lhotka.net/weblog/default,month,2011-01.aspxhttp://www.lhotka.net/weblog/default,month,2011-02.aspxhttp://www.lhotka.net/weblog/default,month,2011-03.aspxhttp://www.lhotka.net/weblog/default,month,2011-04.aspxhttp://www.lhotka.net/weblog/default,month,2011-05.aspxhttp://www.lhotka.net/weblog/default,month,2011-06.aspxhttp://www.lhotka.net/weblog/default,month,2011-08.aspxhttp://www.lhotka.net/weblog/default,month,2011-09.aspxhttp://www.lhotka.net/weblog/default,month,2011-10.aspxhttp://www.lhotka.net/weblog/default,month,2011-11.aspxhttp://www.lhotka.net/weblog/default,month,2011-12.aspxhttp://www.lhotka.net/weblog/default,month,2012-01.aspxhttp://www.lhotka.net/weblog/default,month,2012-02.aspxhttp://www.lhotka.net/weblog/default,month,2012-03.aspxhttp://www.lhotka.net/weblog/default,month,2012-04.aspxhttp://www.lhotka.net/weblog/default,month,2012-05.aspxhttp://www.lhotka.net/weblog/default,month,2012-06.aspxhttp://www.lhotka.net/weblog/default,month,2012-07.aspxhttp://www.lhotka.net/weblog/default,month,2012-08.aspxhttp://www.lhotka.net/weblog/default,month,2012-09.aspxhttp://www.lhotka.net/weblog/default,month,2012-10.aspxhttp://www.lhotka.net/weblog/default,month,2012-11.aspxhttp://www.lhotka.net/weblog/default,month,2012-12.aspxhttp://www.lhotka.net/weblog/default,month,2013-01.aspxhttp://www.lhotka.net/weblog/default,month,2013-02.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    21/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 2

    December, 2010 (3)

    November, 2010 (8)

    October, 2010 (6)

    September, 2010 (6)

    August, 2010 (7)

    July, 2010 (8)

    June, 2010 (6)

    May, 2010 (8)

    April, 2010 (13)

    March, 2010 (7)

    February, 2010 (5)

    January, 2010 (9)

    December, 2009 (6)

    November, 2009 (8)

    October, 2009 (11)

    September, 2009 (5)

    August, 2009 (5)

    July, 2009 (10)

    June, 2009 (5)

    May, 2009 (7)

    April, 2009 (7)

    March, 2009 (11)

    February, 2009 (6)

    January, 2009 (9)

    December, 2008 (5)

    November, 2008 (4)

    http://www.lhotka.net/weblog/default,month,2008-11.aspxhttp://www.lhotka.net/weblog/default,month,2008-12.aspxhttp://www.lhotka.net/weblog/default,month,2009-01.aspxhttp://www.lhotka.net/weblog/default,month,2009-02.aspxhttp://www.lhotka.net/weblog/default,month,2009-03.aspxhttp://www.lhotka.net/weblog/default,month,2009-04.aspxhttp://www.lhotka.net/weblog/default,month,2009-05.aspxhttp://www.lhotka.net/weblog/default,month,2009-06.aspxhttp://www.lhotka.net/weblog/default,month,2009-07.aspxhttp://www.lhotka.net/weblog/default,month,2009-08.aspxhttp://www.lhotka.net/weblog/default,month,2009-09.aspxhttp://www.lhotka.net/weblog/default,month,2009-10.aspxhttp://www.lhotka.net/weblog/default,month,2009-11.aspxhttp://www.lhotka.net/weblog/default,month,2009-12.aspxhttp://www.lhotka.net/weblog/default,month,2010-01.aspxhttp://www.lhotka.net/weblog/default,month,2010-02.aspxhttp://www.lhotka.net/weblog/default,month,2010-03.aspxhttp://www.lhotka.net/weblog/default,month,2010-04.aspxhttp://www.lhotka.net/weblog/default,month,2010-05.aspxhttp://www.lhotka.net/weblog/default,month,2010-06.aspxhttp://www.lhotka.net/weblog/default,month,2010-07.aspxhttp://www.lhotka.net/weblog/default,month,2010-08.aspxhttp://www.lhotka.net/weblog/default,month,2010-09.aspxhttp://www.lhotka.net/weblog/default,month,2010-10.aspxhttp://www.lhotka.net/weblog/default,month,2010-11.aspxhttp://www.lhotka.net/weblog/default,month,2010-12.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    22/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 22

    October, 2008 (7)

    September, 2008 (8)

    August, 2008 (11)

    July, 2008 (11)

    June, 2008 (10)

    May, 2008 (6)

    April, 2008 (8)

    March, 2008 (9)

    February, 2008 (6)

    January, 2008 (6)

    December, 2007 (6)

    November, 2007 (9)

    October, 2007 (7)

    September, 2007 (5)

    August, 2007 (8)

    July, 2007 (6)

    June, 2007 (8)

    May, 2007 (7)

    April, 2007 (9)

    March, 2007 (8)

    February, 2007 (5)

    January, 2007 (9)

    December, 2006 (4)

    November, 2006 (3)

    October, 2006 (4)

    September, 2006 (9)

    http://www.lhotka.net/weblog/default,month,2006-09.aspxhttp://www.lhotka.net/weblog/default,month,2006-10.aspxhttp://www.lhotka.net/weblog/default,month,2006-11.aspxhttp://www.lhotka.net/weblog/default,month,2006-12.aspxhttp://www.lhotka.net/weblog/default,month,2007-01.aspxhttp://www.lhotka.net/weblog/default,month,2007-02.aspxhttp://www.lhotka.net/weblog/default,month,2007-03.aspxhttp://www.lhotka.net/weblog/default,month,2007-04.aspxhttp://www.lhotka.net/weblog/default,month,2007-05.aspxhttp://www.lhotka.net/weblog/default,month,2007-06.aspxhttp://www.lhotka.net/weblog/default,month,2007-07.aspxhttp://www.lhotka.net/weblog/default,month,2007-08.aspxhttp://www.lhotka.net/weblog/default,month,2007-09.aspxhttp://www.lhotka.net/weblog/default,month,2007-10.aspxhttp://www.lhotka.net/weblog/default,month,2007-11.aspxhttp://www.lhotka.net/weblog/default,month,2007-12.aspxhttp://www.lhotka.net/weblog/default,month,2008-01.aspxhttp://www.lhotka.net/weblog/default,month,2008-02.aspxhttp://www.lhotka.net/weblog/default,month,2008-03.aspxhttp://www.lhotka.net/weblog/default,month,2008-04.aspxhttp://www.lhotka.net/weblog/default,month,2008-05.aspxhttp://www.lhotka.net/weblog/default,month,2008-06.aspxhttp://www.lhotka.net/weblog/default,month,2008-07.aspxhttp://www.lhotka.net/weblog/default,month,2008-08.aspxhttp://www.lhotka.net/weblog/default,month,2008-09.aspxhttp://www.lhotka.net/weblog/default,month,2008-10.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    23/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 23

    August, 2006 (4)

    July, 2006 (9)

    June, 2006 (4)

    May, 2006 (10)

    April, 2006 (4)

    March, 2006 (11)

    February, 2006 (3)

    January, 2006 (13)

    December, 2005 (6)

    November, 2005 (7)

    October, 2005 (4)

    September, 2005 (9)

    August, 2005 (6)

    July, 2005 (7)

    June, 2005 (5)

    May, 2005 (4)

    April, 2005 (7)

    March, 2005 (16)

    February, 2005 (17)

    January, 2005 (17)

    December, 2004 (13)

    November, 2004 (7)

    October, 2004 (14)

    September, 2004 (11)

    August, 2004 (7)

    http://www.lhotka.net/weblog/default,month,2004-08.aspxhttp://www.lhotka.net/weblog/default,month,2004-09.aspxhttp://www.lhotka.net/weblog/default,month,2004-10.aspxhttp://www.lhotka.net/weblog/default,month,2004-11.aspxhttp://www.lhotka.net/weblog/default,month,2004-12.aspxhttp://www.lhotka.net/weblog/default,month,2005-01.aspxhttp://www.lhotka.net/weblog/default,month,2005-02.aspxhttp://www.lhotka.net/weblog/default,month,2005-03.aspxhttp://www.lhotka.net/weblog/default,month,2005-04.aspxhttp://www.lhotka.net/weblog/default,month,2005-05.aspxhttp://www.lhotka.net/weblog/default,month,2005-06.aspxhttp://www.lhotka.net/weblog/default,month,2005-07.aspxhttp://www.lhotka.net/weblog/default,month,2005-08.aspxhttp://www.lhotka.net/weblog/default,month,2005-09.aspxhttp://www.lhotka.net/weblog/default,month,2005-10.aspxhttp://www.lhotka.net/weblog/default,month,2005-11.aspxhttp://www.lhotka.net/weblog/default,month,2005-12.aspxhttp://www.lhotka.net/weblog/default,month,2006-01.aspxhttp://www.lhotka.net/weblog/default,month,2006-02.aspxhttp://www.lhotka.net/weblog/default,month,2006-03.aspxhttp://www.lhotka.net/weblog/default,month,2006-04.aspxhttp://www.lhotka.net/weblog/default,month,2006-05.aspxhttp://www.lhotka.net/weblog/default,month,2006-06.aspxhttp://www.lhotka.net/weblog/default,month,2006-07.aspxhttp://www.lhotka.net/weblog/default,month,2006-08.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    24/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 24

    July, 2004 (3)

    June, 2004 (6)

    May, 2004 (3)

    April, 2004 (2)

    March, 2004 (1)

    February, 2004 (5)

    Categories

     .NET Core

     Android

     Architecture

     ASP.NET MVC

     Books

     Bxf

     CSLA .NET

     dasBlog

     Distributed OO

     git

     h5js

     Hololens

     iOS

     JavaScript

     Magenic

     Microsoft .NET

     mono

     MonoDroid

    http://www.lhotka.net/weblog/CategoryView,category,MonoDroid.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=MonoDroidhttp://www.lhotka.net/weblog/CategoryView,category,mono.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=monohttp://www.lhotka.net/weblog/CategoryView,category,Microsoft%2B.NET.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Microsoft%20.NEThttp://www.lhotka.net/weblog/CategoryView,category,Magenic.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Magenichttp://www.lhotka.net/weblog/CategoryView,category,JavaScript.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=JavaScripthttp://www.lhotka.net/weblog/CategoryView,category,iOS.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=iOShttp://www.lhotka.net/weblog/CategoryView,category,Hololens.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Hololenshttp://www.lhotka.net/weblog/CategoryView,category,h5js.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=h5jshttp://www.lhotka.net/weblog/CategoryView,category,git.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=githttp://www.lhotka.net/weblog/CategoryView,category,Distributed%2BOO.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Distributed%20OOhttp://www.lhotka.net/weblog/CategoryView,category,dasBlog.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=dasBloghttp://www.lhotka.net/weblog/CategoryView,category,CSLA%2B.NET.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=CSLA%20.NEThttp://www.lhotka.net/weblog/CategoryView,category,Bxf.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Bxfhttp://www.lhotka.net/weblog/CategoryView,category,Books.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Bookshttp://www.lhotka.net/weblog/CategoryView,category,ASP.NET%2BMVC.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=ASP.NET%20MVChttp://www.lhotka.net/weblog/CategoryView,category,Architecture.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Architecturehttp://www.lhotka.net/weblog/CategoryView,category,Android.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Androidhttp://www.lhotka.net/weblog/CategoryView,category,.NET%2BCore.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=.NET%20Corehttp://www.lhotka.net/weblog/default,month,2004-02.aspxhttp://www.lhotka.net/weblog/default,month,2004-03.aspxhttp://www.lhotka.net/weblog/default,month,2004-04.aspxhttp://www.lhotka.net/weblog/default,month,2004-05.aspxhttp://www.lhotka.net/weblog/default,month,2004-06.aspxhttp://www.lhotka.net/weblog/default,month,2004-07.aspx

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    25/26

    08/06/2016 Rockford Lhotka

    http://www.lhotka.net/weblog/ 25

     MonoTouch

     MOslo

     News

     Programming

     Service-Oriented

     Silverlight

     Surface

     UWP

     WCF

     Web

     Windows 10

     Windows 8

     Windows Azure

     Windows Forms

     Windows Phone

     WinRT

     WomenInTech

     Workow

     WP7

     WP8

     WPF

     Xamarin

     Xbox

     Zune

    A b o u t

    http://www.lhotka.net/weblog/CategoryView,category,Zune.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Zunehttp://www.lhotka.net/weblog/CategoryView,category,Xbox.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Xboxhttp://www.lhotka.net/weblog/CategoryView,category,Xamarin.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Xamarinhttp://www.lhotka.net/weblog/CategoryView,category,WPF.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=WPFhttp://www.lhotka.net/weblog/CategoryView,category,WP8.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=WP8http://www.lhotka.net/weblog/CategoryView,category,WP7.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=WP7http://www.lhotka.net/weblog/CategoryView,category,Workflow.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Workflowhttp://www.lhotka.net/weblog/CategoryView,category,WomenInTech.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=WomenInTechhttp://www.lhotka.net/weblog/CategoryView,category,WinRT.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=WinRThttp://www.lhotka.net/weblog/CategoryView,category,Windows%2BPhone.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Windows%20Phonehttp://www.lhotka.net/weblog/CategoryView,category,Windows%2BForms.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Windows%20Formshttp://www.lhotka.net/weblog/CategoryView,category,Windows%2BAzure.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Windows%20Azurehttp://www.lhotka.net/weblog/CategoryView,category,Windows%2B8.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Windows%208http://www.lhotka.net/weblog/CategoryView,category,Windows%2B10.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Windows%2010http://www.lhotka.net/weblog/CategoryView,category,Web.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Webhttp://www.lhotka.net/weblog/CategoryView,category,WCF.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=WCFhttp://www.lhotka.net/weblog/CategoryView,category,UWP.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=UWPhttp://www.lhotka.net/weblog/CategoryView,category,Surface.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Surfacehttp://www.lhotka.net/weblog/CategoryView,category,Silverlight.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Silverlighthttp://www.lhotka.net/weblog/CategoryView,category,Service-Oriented.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Service-Orientedhttp://www.lhotka.net/weblog/CategoryView,category,Programming.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Programminghttp://www.lhotka.net/weblog/CategoryView,category,News.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=Newshttp://www.lhotka.net/weblog/CategoryView,category,MOslo.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=MOslohttp://www.lhotka.net/weblog/CategoryView,category,MonoTouch.aspxhttp://www.lhotka.net/weblog/SyndicationService.asmx/GetRssCategory?categoryName=MonoTouch

  • 8/15/2019 CSLA PropertyInfo Control for Xamarin Forms

    26/26

    08/06/2016 Rockford Lhotka

    Powered by: newtelligence dasBlog

    2.0.7226.0

    Disclaimer

    The opinions expressed herein are

    my own personal opinions and do

    not represent my employer's view in

    any way.

    © Copyright 2016, Marimer LLC

     E-mail

    Sign In

    http://www.lhotka.net/weblog/Login.aspx