【发布时间】:2021-02-05 21:07:46
【问题描述】:
我想处理 Button Click 事件,做一些事情,然后让默认处理程序执行。
这是我所拥有的:
<Button ... Click="OnMoreClicked" />
这是我的处理程序
void onMoreClicked (object sender, RoutedEventArgs e)
{
... do something ...
... continue with default button handler ...
}
编辑:
该按钮激活一个弹出按钮,因此它已经有一个处理程序来执行此操作,我想确保该处理程序得到执行。
编辑 2:我的示例代码太少了。而是看到这个:
<Button ... Click="onMoreClicked">
<Button.Flyout >
...
</Button.Flyout>
</Button>
和
public void onMoreClicked (object sender, RoutedEventArgs e)
{
... do something ...
... call default handler to show flyout ...
}
【问题讨论】:
-
为什么在默认的按钮点击处理程序中不这样做,然后调用另一个函数并将sender和args传递给这个函数?另一个问题是为什么你需要用两种方法来做你的逻辑过程?
-
请原谅我是 C# 和 UWP 的新手。我不明白你的评论。首先,您指的是什么“两种方法”?其次,我如何在默认按钮单击处理程序中执行此操作 - 您是否建议我将该处理程序子类化?如果是这样,如何。如果你有一个完整的答案,请发帖,我会给你信用:)
-
@PeriHartman:没有“默认处理程序”之类的东西。在
OnMoreClicked事件处理程序中做任何你想做的事情,不要打扰“继续使用默认按钮处理程序”部分。或者你到底想继续做什么? -
@mm8:显然,我不知道正确的术语(请告知)。我指的是如果我没有声明将执行的处理程序。而且,是的,我确实希望在我的处理程序完成后执行“默认”处理程序。
-
如果您不订阅该事件,则不会执行默认处理程序。你预计会发生什么?
标签: button uwp event-handling