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