单击转义按钮时关闭 xceed 子窗口

本文关键字:xceed 窗口 转义 按钮 单击 | 更新日期: 2023-09-27 18:36:04

我正在使用xceed wpf工具包。在这一点上,我正在使用ChildWindow。我需要在按下转义键时关闭打开的儿童窗口。这是代码

<xctk:ChildWindow x:Name="ChildVendorsEdit" IsModal="True" WindowStartupLocation="Center" Caption="Edit" >
//My Content Here
</xctk:ChildWindow>

你可以帮我吗??

单击转义按钮时关闭 xceed 子窗口

使用按钮上的"IsCancel"属性。

<Button Content="Discard" Click="ButtonDiscard_OnClick" IsCancel="True"></Button>

与默认相同(回车键)

如果您使用的是 2.0.0 或更高版本,则应将ChildWindow放在WindowContainer并使用PreviewKeyDown事件。

XAML:

<xctk:WindowContainer>
    <xctk:ChildWindow x:Name="ChildVendorsEdit" IsModal="True" WindowStartupLocation="Center" Caption="Edit"                          
                  PreviewKeyDown="ChildVendorsEdit_PreviewKeyDown" >                
    </xctk:ChildWindow>
</xctk:WindowContainer>

代码隐藏:

private void ChildVendorsEdit_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Escape)
    {
        (sender as Xceed.Wpf.Toolkit.ChildWindow).WindowState = Xceed.Wpf.Toolkit.WindowState.Closed;
    }
}

如果使用低于 2.0.0 的版本,则应使用PreviewKeyDown事件:

XAML:

<xctk:ChildWindow x:Name="ChildVendorsEdit" IsModal="True" WindowStartupLocation="Center" Caption="Edit"                          
                  PreviewKeyDown="ChildVendorsEdit_PreviewKeyDown" >            
</xctk:ChildWindow>

代码隐藏:

private void ChildVendorsEdit_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Escape)
    {
        (sender as Xceed.Wpf.Toolkit.ChildWindow).WindowState = Xceed.Wpf.Toolkit.WindowState.Closed;
    }
}

若要关闭事件处理程序PreviewKeyDown ChildWindow,您有两个选项:

  • 您可以将WindowState设置为 Closed
  • 或者,您可以调用Close方法。