在我的内容页面工具栏图标上添加新的工具栏项时,它抛出异常:
System.InvalidCastException:指定的强制转换无效。 在Xamarin.Forms.ButtonElement.OnCommandChanging(Xamarin.Forms.BindableObject bo,System.Object o,System.Object n)
这是我添加新工具栏项目的代码:
ToolbarItem deleteItem = new ToolbarItem();
deleteItem.Icon = "DeleteIcon";
deleteItem.Text = "Delete";
deleteItem.Order = ToolbarItemOrder.Default;
deleteItem.Priority = 1;
deleteItem.SetBinding(Button.CommandProperty, new Binding("DeleteTransaction"));
this.CurrentPage.ToolbarItems.Add(deleteItem); //error throwing on this line
如何解决这个问题?
答案 0 :(得分:1)
您的问题是命令的强制转换,请检查此示例。是MenuItem.CommandProperty
var toolbarItem = new ToolbarItem();
toolbarItem.SetBinding(MenuItem.CommandProperty, new Binding("ActionBarButtonCommand"));
答案 1 :(得分:0)
随着时间的流逝,我注意到了这一点,当您将文本和图标添加到单个ToolbarItem
时,会引发某种类型的强制转换异常。
我不记得这是否是相同的问题,但我建议您删除deleteItem.Text = "Delete";
,看看是否可行。