在内容页面内添加新的工具栏图标时投射异常

时间:2019-01-15 06:50:32

标签: xamarin xamarin.forms

在我的内容页面工具栏图标上添加新的工具栏项时,它抛出异常:

  
    

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

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您的问题是命令的强制转换,请检查此示例。是MenuItem.CommandProperty

  var toolbarItem = new ToolbarItem();
            toolbarItem.SetBinding(MenuItem.CommandProperty, new Binding("ActionBarButtonCommand"));

答案 1 :(得分:0)

随着时间的流逝,我注意到了这一点,当您将文本和图标添加到单个ToolbarItem时,会引发某种类型的强制转换异常。

我不记得这是否是相同的问题,但我建议您删除deleteItem.Text = "Delete";,看看是否可行。