2017-01-23 9 views
0

私はカスタムコントロールを持っています。基本的には、連結された文字列をバインドすることができ、タグリストのような複数のオブジェクトに分割するスタックレイアウトです。xamarinはカスタムコントロールを構成します

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<string> 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); 
      } 
     } 

が、私はこの権利を取得するように見えることはできませんが、どのように私はフレームの子であることをlableを追加しない、と私はにラベルを追加する場合、どのように私は私が現時点でのように、結合修正することができますスタックレイアウトの子は、ラベルのテキストが{バインディング}であり、実際のテキストではありません。

誰か助けてもらえますか? XAMLでItemTemplateとdatatemplateとviewcellを追加した場合、このすべてが機能しましたが、これをXAMLで行いたくないので、これを他のビューで再利用したいと思います。

答えて

0

フレームが

label.SetBinding(Label.TextProperty, new Binding(".")); 
+0

パーフェクト感謝を使用し、コードでバインディングを割り当てるには

Frame.Content = label; 

Contentプロパティを持っています! –

関連する問題