当定义了一个window样式时,里面包括了关闭按钮的样式,但这时会有个问题,就是关闭按钮的事件,如何添加关闭事件。
方法1
在样式的按钮中添加Command=”ApplicationCommands.Close”, 然后在每一个应用的窗口中添加CommandBindings,如下代码:
<Window.CommandBindings>
<CommandBinding Command="Close" Executed="RealClose"></CommandBinding>
</Window.CommandBindings>
方法2
例用部分类的思路,对资源文件添加CodeBehind代码,然后将相关的事件处理添加到这里面,需要注意的是要在资源文件头部添加x:class引用CodeBehind,而CodeBehind代码如下:
private void BtnClose_OnClick(object sender, RoutedEventArgs e)
{
var dep = sender as DependencyObject;
if (null != dep)
{
var win = Window.GetWindow(dep);
if (null != win)
win.Close();
}
}
这样便使得每一个应用该样式的窗口都可以正常关闭,较第一种而言,省去了对 每个窗口都添加CommandBindings的操作。
本文介绍了两种在WPF应用程序中实现窗口关闭事件的方法。一种是在样式中的按钮添加Command属性,并为每个窗口添加CommandBindings;另一种是利用部分类思想,在资源文件中添加CodeBehind代码来处理关闭事件。

487

被折叠的 条评论
为什么被折叠?



