gpt4 book ai didi

wpf - WPF Button.IsCancel属性如何工作?

转载 作者:行者123 更新时间:2023-12-03 08:47:06 64 4
gpt4 key购买 nike

“取消”按钮背后的基本思想是使用Escape按键关闭窗口。

You can set the IsCancel property on the Cancel button to true, causing the Cancel button to automatically close the dialog without handling the Click event.



来源:WPF编程(Griffith,Sells)

所以这应该工作
<Window>
<Button Name="btnCancel" IsCancel="True">_Close</Button>
</Window>

但是,我期望的行为对我来说没有效果。父窗口是由Application.StartupUri属性指定的主应用程序窗口。有效的是
<Button Name="btnCancel" IsCancel=True" Click="CloseWindow">_Close</Button>

private void CloseWindow(object sender, RoutedEventArgs)
{
this.Close();
}
  • 基于窗口是普通窗口还是对话框,IsCancel的行为是否有所不同?仅在调用ShowDialog时,IsCancel才能像广告中那样工作吗?
  • 按钮是否需要显式Click处理程序(IsCancel设置为true)才能关闭Escape打印机上的窗口?
  • 最佳答案

    是的,它仅适用于对话框,因为普通窗口没有“取消”的概念,它与DialogResult.Cancel从WinForms中的ShowDialog返回相同。

    如果要用转义符关闭窗口,则可以在窗口的PreviewKeyDown中添加一个处理程序,选择是否为Key.Escape并关闭表单:

    public MainWindow()
    {
    InitializeComponent();

    this.PreviewKeyDown += new KeyEventHandler(CloseOnEscape);
    }

    private void CloseOnEscape(object sender, KeyEventArgs e)
    {
    if (e.Key == Key.Escape)
    Close();
    }

    关于wpf - WPF Button.IsCancel属性如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/419596/

    64 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com