我正在使用xceed wpf Toolkit。 我正在使用ChildWindow。我需要在退出键按下时关闭打开的子窗口。这是代码
<xctk:ChildWindow x:Name="ChildVendorsEdit" IsModal="True" WindowStartupLocation="Center" Caption="Edit" >
//My Content Here
</xctk:ChildWindow>
你能帮帮我吗?
答案 0 :(得分:1)
使用&#34; IsCancel&#34;按钮上的属性。
<Button Content="Discard" Click="ButtonDiscard_OnClick" IsCancel="True"></Button>
IsDefault(输入密钥)相同
答案 1 :(得分:0)
如果您使用的是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;
}
}
要在ChildWindow
事件处理程序中关闭PreviewKeyDown
,您有两个选择:
WindowState
设置为Closed
,Close
方法。