有没有办法在事件发生之前执行一段代码?
当我们说 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/