Как я могу программно нажать 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
) или позвоните прямо из кода.