button - uwp:如何将按钮单击事件传递给默认处理程序
问题描述
我想处理 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 ...
}
解决方案
在显示Click
之前调用事件处理程序Flyout
。
因此,例如,您可以更改Background
事件Button
处理程序中的 :
private void onMoreClicked(object sender, RoutedEventArgs e)
{
Button button = (Button)sender;
button.Background = new SolidColorBrush(Colors.AliceBlue);
}
...并且仍然看到Flyout
:
您还可以处理Opened
、Opening
或Closed
的Closing
事件MenuFlyout
。
或者使用 anAttachedFlyout
并使用以下方法以编程方式显示它ShowAttachedFlyout
:
private void Button_Click(object sender, RoutedEventArgs e)
{
Button button = (Button)sender;
//...
Flyout.ShowAttachedFlyout(button);
}
XAML:
<Button Content="Button With Flyout" Click="Button_Click">
<FlyoutBase.AttachedFlyout>
<MenuFlyout>
<MenuFlyoutItem Text="Edit" />
</MenuFlyout>
</FlyoutBase.AttachedFlyout>
</Button>
推荐阅读
- ios - 异步图像下载和调整图像高度后如何更新表格视图单元格
- python - 按频率和长度对 Pandas 数据帧进行排序
- c# - 控制发送到 AppInsight 跟踪的数据
- mpi - 使用 MVAPICH2.2 在第二个 CPU 插槽上绑定 MPI 进程
- javascript - 动画 - jQuery - fadeInUp 延迟
- julia - Julia - 如何知道最新版本 (v1.0.0) 的等效功能是什么?
- c# - 在 DevExpress 控件的主从网格视图中将详细列表设为只读
- python - 在没有明确级别名称的情况下转向多索引
- pandas - Pandas:自上次获胜以来每个 id 的事件数
- jquery - Safari 不喜欢 5em 以上的尺寸?