wpf 如何对window样式中的close按钮添加关闭事件

当定义了一个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的操作。

猜你喜欢

转载自blog.csdn.net/wujingang/article/details/76686819