0

我正在使用 xceed wpf 工具包。我正在使用 ChildWindow。我需要在按下退出键时关闭打开的子窗口。这是代码

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

你能帮助我吗 ??

4

2 回答 2

1

使用按钮上的“IsCancel”属性。

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

IsDefault 相同(输入键)

于 2014-11-25T13:44:58.477 回答
0

如果您使用版本 2.0.0 或更高版本,则应ChildWindow输入WindowContainer并使用PreviewKeyDownevent。

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;
    }
}

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

  • 你可以设置 WindowStateClosed
  • 或者你可以调用Close方法。
于 2013-10-20T17:36:44.937 回答