【发布时间】:2016-05-24 23:42:50
【问题描述】:
我想将一个点击事件附加到我的容器中,但是 c++/cx 的方式让我无法理解。 XAML 和编程方法都让我感到沮丧。我一般如何附加事件? (特别是 Button 的 Click 事件?)以下两种方法都不适合我:
<StackPanel x:Name="stackPanel" Button.Click="stackPanel_Click">
<Button>Button #1</Button>
<Button>Button #2</Button>
</StackPanel>
这只是给出了错误,“未知的可附加成员 'Button.Click' 在元素 'StackPanel' 上。然而,这就是它在 WPF 中的完成方式。并且以编程方式:
stackPanel->AddHandler(
Windows::UI::Xaml::Controls::Button::Click,
ref new Windows::UI::Xaml::RoutedEventHandler(this, stackPanel_Click),
false);
这给出了“错误:非静态成员引用必须相对于特定对象”——它指的是 AddHandler 的第一个参数。
我基本上理解给出的错误,但仍然不知道如何完成我想要的。搜索引擎没有提供任何帮助,微软的文档也没有启发。
【问题讨论】:
-
这就是我需要将事件附加到它的原因。当 Button(s) Click 事件触发时,它将冒泡到 StackPanel - 此代码在 C# WPF 中运行良好,但不适用于 c++/cx 中的 UWP 应用程序。