在 Windows/UWP/C++ 中动态创建带有点击处理程序的按钮

Dynamically creating a button with a click handler in Windows/UWP/C++

我在创建按钮并将其添加到列表视图的方法中获得了以下代码。但是,当您使用 C++ 而不是 C# 进行编码时,不清楚如何向按钮添加单击事件处理程序。

Button ^ nb = ref new Button();
nb->Content = ref new Platform::String(name.c_str());

nb->Click  // what goes here???

DeviceList->Items->Append(nb);

照明?谢谢。

how to add a click event handler to the button when you are coding in C++

您需要创建一个绑定 OnClick 回调方法的新 RoutedEventHandler 实例,然后使用 += 组合 Click 事件。当然,您也可以在输入+=字符后按Tab快捷键。

MainPage::MainPage()
{
    InitializeComponent();
    Button ^btn = ref new Button();
    btn->Content = "TestBtn";
    btn->Click += ref new Windows::UI::Xaml::RoutedEventHandler(this, &App5::MainPage::OnClick);
    RootLayout->Children->Append(btn);
}

void App5::MainPage::OnClick(Platform::Object ^sender, Windows::UI::Xaml::RoutedEventArgs ^e)
{
    throw ref new Platform::NotImplementedException();
}