Как я могу программно нажать AppBarButton?

У меня есть этот код:

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 вылететь?

1 ответ

Решение

Обычно вы реорганизуете код из обработчика нажатия кнопки AppBar в его собственный метод, а затем можете вызывать его из любого места.

Вы также можете рассмотреть возможность использования ICommand если вы чувствуете себя более предприимчивым - это позволяет вам иметь любое количество элементов пользовательского интерфейса (например, ButtonBase.Command) или позвоните прямо из кода.

Другие вопросы по тегам