2017-06-30 25 views
2

まず、私はIT開発の初心者です。ちょうど... 私はランタイムボタンを持っていますが、各ボタンのイベントを処理したいのですが、それ? これは私が持っているコードです。動的に生成されたボタンからイベントを処理する方法#

public partial class Dashboard : ContentPage 
{ 

    private IList<Condominium> output; 


    public Dashboard(IList<Condominium> output) 
    { 

     var Buttonadd = new Style(typeof(Button)) 
     { 
      Setters = { 
         new Setter {Property = Button.TextColorProperty, Value = Constants.MainTextColor}, 
         new Setter {Property = Button.BackgroundColorProperty, Value = Constants.BackgroundColor}, 
         new Setter {Property = Button.HorizontalOptionsProperty, Value = LayoutOptions.FillAndExpand}, 
         new Setter {Property = Button.VerticalOptionsProperty, Value = LayoutOptions.FillAndExpand}, 
         new Setter {Property = Button.TextProperty, Value = TextAlignment.End}, 
         new Setter {Property = Button.WidthRequestProperty, Value = 200}, 
         new Setter {Property = Button.HeightRequestProperty, Value = 200}, 
         } 
     }; 



     StackLayout parent = new StackLayout(); 

     foreach (var cond in output) 
     { 
      Button add = new Button 
      { 
       Style = Buttonadd, 
       Text = cond.Name, 
       Margin = new Thickness(0, -10, 0, -10), 

      }; 



      parent.Children.Add(add); 


     } 


     Content = new ScrollView 
     { 
      Margin = new Thickness(0, 10, 0, 10), 
      BackgroundColor = Color.White, 
      Content = parent, 
     }; 


     this.output = output; 


     InitializeComponent(); 
    } 



} 
} 
+0

add.Click + = YourClickHandler '試してみてください;' – Enigmativity

答えて

1

クリックイベントを購読する必要があります。

あなたはClickedイベントハンドラがどのように機能するかをより良く理解するためのボタンイベントhere

も参照してくださいEventHandler Delegate上に読むことができます。その後、

Button btnToAdd = new Button 
{ 
    Style = Buttonadd, 
    Text = cond.Name, 
    Margin = new Thickness(0, -10, 0, -10), 

}; 

btnToAdd.Clicked += OnButtonClicked; 

parent.Children.Add(add); 

とあなたのイベントハンドラを追加します。

void OnButtonClicked(object sender, EventArgs e) 
{ 
    //add your code here 
} 
関連する問題