当有人点击按钮时,我希望弹出一个窗口。该按钮在从 Web 服务加载的 ListView 中,如何向视图发送消息以调用 AlertDialog 函数?为了更好地理解我的问题,我在下面粘贴了代码:
在我的 ViewModel 中:
public void editPost(Post item)
{
PostToEdit = item;
// Call the popup function
}
在我看来:
public Dialog showEditPopup()
{
var customView = LayoutInflater.Inflate(Resource.Layout.EditDialog, null);
var builder = new AlertDialog.Builder(this);
builder.SetView(customView);
builder.SetPositiveButton("Save", SaveClicked);
builder.SetNegativeButton("Cancel", CancelClicked);
return builder.Create();
}
我尝试创建一个onclick函数,在视图中初始化我的AlertDialog。
var editButton = FindViewById<Button>(Resource.Id.editButton);
editButton.Click += delegate { ShowDialog(EditDialog); };
但是应用程序崩溃了,因为在oncreate时帖子没有被加载,所以editButton为null并且点击事件无法设置,因此我想在viewmodel中创建弹出窗口。