C# 是否可以在Xamarin.Forms上的按钮上保存对象?
我想知道是否有可能将一个对象保存到Xamarin上的按钮中。这是我的代码:C# 是否可以在Xamarin.Forms上的按钮上保存对象?,c#,android,xamarin,button,C#,Android,Xamarin,Button,我想知道是否有可能将一个对象保存到Xamarin上的按钮中。这是我的代码: public partial class MenuPage : ContentPage{ public MenuPage(List<Product> products) { InitializeComponent(); grid.RowDefinitions.Add(new RowDefinition()); grid.RowDefinitions.A
public partial class MenuPage : ContentPage{
public MenuPage(List<Product> products) {
InitializeComponent();
grid.RowDefinitions.Add(new RowDefinition());
grid.RowDefinitions.Add(new RowDefinition());
grid.RowDefinitions.Add(new RowDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
grid.ColumnDefinitions.Add(new ColumnDefinition());
int product_cont = 0;
for (int rowIndex = 0; rowIndex < 3; rowIndex++) {
for (int columnIndex = 0; columnIndex < 2; columnIndex++) {
Button b = new Button();
b.Text = products[products_cont].name;
b.OnButtonClicked += async (sender, e) => {
//go to products childs
await Navigation.PushAsync(new MenuPage(products[products_cont].childs));
};
i++; //next product
grid.Children.Add(b, columnIndex, rowIndex);
}
}
}
}
您可以使用
BindingContext
Button b = new Button();
b.Text = products[products_cont].name;
b.BindingContext = products[products_cont];
b.OnButtonClicked += NavigateToProduct;
及
Button b = new Button();
b.Text = products[products_cont].name;
b.BindingContext = products[products_cont];
b.OnButtonClicked += NavigateToProduct;
protected void NavigateToProduct(object sender, EventArgs a)
{
var btn = (Button)sender);
var product = (Product)sender.BindingContext;
await Navigation.PushAsync(new MenuPage(product.childs));
}