c# - WPF 在特定事件发生之前执行函数?

标签 c# .net wpf

有没有办法在事件发生之前执行一段代码?

当我们说 Expanded="OnExpand"时的例子 这里 OnExpand 中的代码发生在 Expanded 事件发生之后。如果我想在此之前执行一段代码怎么办?

最佳答案

您可以使用预览事件

对于没有 PreviewExpanded 事件的扩展器,一个可能的解决方法是处理 PreviewMouseDown 事件并进行点击测试以查看它是否在切换按钮上。

或者,可以按照以下方式扩展 Expander 类 我根本没有测试这个不知道它是否真的有效

public class MyExpander: Expander
{
    public event EventHandler<EventArgs> PreviewExpanded;

    public void OnPreviewExpanded()
    {
       PreviewExpanded(this,new EventArgs());
    }

    public override void OnExpanded()
    {
       PreviewExpanded()
       base.OnExpanded();
    }
}

关于c# - WPF 在特定事件发生之前执行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248961/

相关文章:

c# - 我可以让 ProcessBytes 返回准确的数量吗?

c# - 在哪里为基于任务的异步方法定义回调

c# - 不可为空的System.DateTime的值

c# - 为什么我应该在我的 EF 顶部构建一个包含工作单元的存储库模式?

wpf - 列出WPF特定窗口的所有控件

wpf - 将 System.Drawing.Bitmap 复制到 WriteableBitmap 区域

c# - 如何使用 Rally API 更新任务(更改用户故事)?

c# - 替换 JPG 图像文件中的图像但保留元数据?

c# - 没有成员的接口(interface)是否适合向图书馆用户指示 "opaque handle"?

c# - 使用 MVVM 在 WPF 中监控后台剪贴板并在 View 中绑定(bind)复制的上下文