title: xamarin forms custom control
body: <p>I have a custom control, basically a stacklayout that I can bind a concatenated string, and have this break up into multiple objects, like a tag list.</p>
  
  <pre><code>public void Render()
          {
              if (ItemsSource == null)
                  return;
  
              this.Orientation = Orientation == StackOrientation.Vertical ? StackOrientation.Vertical : StackOrientation.Horizontal;
              this.Margin = new Thickness (0, 0, 0, 0);
  
              List&lt;string&gt; items = ItemsSource.Split('|').ToList();
              foreach (var item in items)
              {
                  var frame = new Frame();
                  frame.BindingContext = item;
                  frame.BackgroundColor = Color.FromHex("#FCFACF");
                  frame.OutlineColor = Color.FromHex("#D0C0AD");
                  frame.HasShadow = false;
                  frame.Padding = new Thickness(4, 2, 4, 0);
                  var label = new Label();
                  label.Text = "{Binding}";
                  label.FontSize = 10;
                  label.Parent = frame;
                  Children.Add(frame);
              }
          }
  </code></pre>
  
  <p>but I can't seem to get this right, how do I add a lable to be a child of a frame, and how can I fix my binding, as at present if I add the label to the children of the stacklayout the text of the labels is {binding} and not the actual text.</p>
  
  <p>Can someone please help me with this. I had all of this working if I added a ItemTemplate with a datatemplate and viewcell in the XAML, but I don't want this done in XAML as I'd like to reuse all of this in other views.</p>