1

我有这个代码:

async private void InformUserOfRenameOption(string platypusName)
{
    CoreWindowDialog cwd = new CoreWindowDialog(String.Format(
        "This platypus has been given the default name {0}. Do you want to change it?", platypusName));
    cwd.Commands.Add(new UICommand { Label = "Yes", Id = 0 });
    cwd.Commands.Add(new UICommand { Label = "No", Id = 1 });
    cwd.Commands.Add(new UICommand { Label = "Cancel", Id = 2 });
    cwd.CancelCommandIndex = 2;
    IUICommand cmd = await cwd.ShowAsync();
    //if (cmd.Id == 0) <= 'Operator '==' cannot be applied to operands of type 'object' and 'int'
    if (Convert.ToInt32(cmd.Id) == 0)
    {
        appbarbtnRenamePlatypus.Tapped();
    }
} 

...但是我尝试以编程方式点击 AppBarButton 失败,并出现编译时错误:“事件 'Windows.UI.Xaml.UIElement.Tapped' 只能出现在 += 或 -= 的左侧

那么我如何编程方式点击按钮,或者更具体地说,让它的 Button.Flyout Flyout 飞出?

4

1 回答 1

2

通常,您会将 AppBar 按钮的单击处理程序中的代码重构为它自己的方法,然后您可以从任何地方调用它。

ICommand如果您更喜欢冒险,您也可以考虑使用- 这使您可以拥有任意数量的 UI 元素(例如ButtonBase.Command)或直接从代码中调用它。

于 2014-12-08T00:52:41.067 回答