【发布时间】:2021-04-08 09:30:56
【问题描述】:
如果可以将对象保存到 Xamarin.Forms、C# 上的按钮中,我很想知道。这是我的代码:
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);
}
}
}
}
按钮显示正确,但是当我按下它们时,products[products_cont].childs 不存在。我想如果我能做这样的事情就可以了:
...
Button b = new Button();
b.Text = products[products_cont].name;
b.SAVE_OBJECT(products[products_cont])
b.OnButtonClicked += async (sender, e) => {
//go to products childs
await Navigation.PushAsync(new MenuPage(b.GET_OBJECT.childs));
};
...
【问题讨论】: