Как перевести Microsoft ButtonBase.Click Event для C ++ / WinRT в объявление и определение прототипа?
В Visual Studio Community 2017 версии 15.9.5 я создал стандартный проект, а именно Blank App (C ++ / WinRT), в котором есть кнопка (myButton) как часть. Я хочу узнать, как добавить вторую кнопку. Я добавил код XAML для второй кнопки (myButton2), но после этого я застрял.
<Page
x:Class="X003.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:X003"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel x:Name="stackPan" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Background="LightBlue">
<Button x:Name="myButton" Click="ClickHandler">Click Me</Button>
<Button x:Name="myButton2" Click="ClickHandler2">Click Me2</Button>
</StackPanel>
</Page>
Я мог просто скопировать код с первой кнопки, которую предоставило пустое приложение (C ++ / WinRT). Но, если бы у меня не было первой кнопки в качестве примера, я бы не знал, как бы я переводил документацию Microsoft, а именно,
// Register
event_token Click(RoutedEventHandler const& handler) const;
// Revoke with event_token
void Click(event_token const& cookie) const;
// Revoke with event_revoker
Click_revoker Click(auto_revoke_t, RoutedEventHandler const& handler) const;
в обработчик кликов. Первая строка документации Microsoft, а именно,
event_token Click(RoutedEventHandler const& handler) const;
это, как я понимаю, формат, который будет использоваться при создании обработчика. Это не похоже на то, что обработчик уже в проекте, а именно,
void ClickHandler(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::RoutedEventArgs const& args);
Думал, что его можно добавить в файл .idl. Но в файле .idl нет первой кнопки.
Предлагаемый Microsoft пример кода предназначен для C #, даже если в правом верхнем углу страницы выбрано «C ++ / WinRT».
В новой версии C ++ / WinRT много документации, почти слишком много. Исходя из того, что я использовал C # / WPF / XAML, я не вижу четкого пути к выполнению аналогичной работы с C ++ / WinRT.
Наконец, вкладка "Свойства" проекта не помогает. В C # события были перечислены, и выбор одного из них приведет к созданию объявления и базового определения в коде. Для C ++ / WinRT, когда курсор находится на элементе управления на странице XAML, в разделе событий на странице свойств отображается имя элемента управления, myButton или myButton2, и указывается: «У элемента документа нет файла кода программной части. файл кода программной части и определение класса перед добавлением обработчиков событий ". Но для существующей кнопки myButton нет файла кода программной части.