Xamarin Style based on implicit Style

Next article about bugs in Xamarin will touch topic of Styles. Styles for all of controls not only Frame (and if you wondering why Frame you should check first two articles about Xamarin here and here).
First of all if you are using Styles in Xamarin you probably know how to define implicit styles. If not here is a sample:

<Application.Resources>
  <ResourceDictionary>
    <Style TargetType="Label">
      <Setter Property="FontSize" Value="45" />
    </Style>
  </ResourceDictionary>
</Application.Resources>

Continue reading “Xamarin Style based on implicit Style”

Xamarin Frame and disappearing Outline

This is another article in mini series of Xamarin bugs and workarounds for them 🙂 Previous one you can find here.

This one is again about Frame control. I promise that another one will be about something else B)

Issue can be observed when you bind BackgroundColor property of Frame control and something will trigger change of view model source property binded to background color. Continue reading “Xamarin Frame and disappearing Outline”

Safe cast string to enum

In on of my projects I had make an interface between database and web service in C# code.

One of problem I had to face was need to cast strings to enumerable types, because of simple fact that database have no idea what is an ‘enum’. Yes simplest mapping between an enumeration and database type is integer. It is simplest but in my idea not best. For example I really do not remember (or do not WANT to remember) what is the meaning of 4 integer value in case of package shipment status. Continue reading “Safe cast string to enum”

Smart string builder

In this rare times when I was writing code that suppose to create large string from smaller chunks and with some non string parameters I was using StringBuilder class of course. Of course because string adding, or string concatenation is very costly when talking about memory utilization. It is because every time you do this:

var text = "Hello world!"+ "n"+ "How are you?";

new string is created for every ‘+’ operation in memory. Not a best way of doing strings creations. StringBuilder is better because it do not creates strings until you call .ToString method of StringBuilder class. Continue reading “Smart string builder”