【发布时间】:2018-12-24 15:31:09
【问题描述】:
我正在尝试通过与 Notes 联系(一对多)来学习 Xamarin 表单。 我已经完成了一个带有 ContactsViewModel 绑定的 ListView,效果很好。
所以现在我正在尝试制作一个编辑上下文按钮:
public void OnEdit(object sender, EventArgs e)
{
Contact contact = ((MenuItem)sender).CommandParameter as Contact;
Navigation.PushAsync(new ContactPage(contact));
}
所以在这里我将我的联系人发送到带有基本条目的页面,这个 ContactPage 的构造函数:
public ContactPage(Contact contact)
{
InitializeComponent();
BindingContext = new ContactViewModel()
{
Id = contact.Id,
Firstname = contact.Firstname,
Lastname = contact.Lastname,
Email = contact.Email,
Address = contact.Address,
Notes = contact.Notes
};
}
但是当我点击我的编辑上下文按钮时,应用程序崩溃了,我不明白为什么。
如果您需要更深入地查看代码,这里是存储库: https://github.com/yerffeog/Contactium
感谢您的关注,我也愿意接受任何代码批评和改进。
删除参数时它可以工作,但是当我只输入一个参数时,我会崩溃。
【问题讨论】:
-
你能把
Contact Contact改成Contact contact吗?可能与您的问题无关,但它困扰着我 -
崩溃时出现什么错误?
-
会不会是
contactvar 不是从CommandParameter初始化的? -
任何时候遇到这样的崩溃,你应该做的第一件事就是将可疑代码包装在 try/catch 块中,以确定根异常是什么
-
我检查了断点,但我收到了正确的信息。