我正在阅读一本书,其中提到:
与其在用户单击按钮后手动设置 DialogResult,您可以将某个按钮指定为“接受”按钮(通过将 IsDefault 设置为 true)。单击该按钮会自动将窗口的 DialogResult 设置为 true。同样,您可以将某个按钮指定为“取消”按钮(通过将 IsCancel 设置为 true),在这种情况下,单击它会将 DialogResult 设置为 Cancel。
这是 MainWindow:
这是相关的IT技术代码:
与其在用户单击按钮后手动设置 DialogResult,您可以将某个按钮指定为“接受”按钮(通过将 IsDefault 设置为 true)。单击该按钮会自动将窗口的 DialogResult 设置为 true。同样,您可以将某个按钮指定为“取消”按钮(通过将 IsCancel 设置为 true),在这种情况下,单击它会将 DialogResult 设置为 Cancel。
这是 MainWindow:
<Window x:Class="WpfApplicationWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Width="400" Height="400">
<StackPanel>
<Button Name="BtnShowDialogStatus" Click="BtnShowDialogStatus_Click">DIALOG RESULT</Button>
</StackPanel>
</Window>
点击事件的代码:
private void BtnShowDialogStatus_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(new NewWindow().ShowDialog().ToString());
}
这是我在单击事件上打开的对话框:
<Window x:Class="WpfApplicationWPF.NewWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="NewWindow" Height="300" Width="300">
<StackPanel>
<Button Name="BtnDEfault" IsDefault="True" Click="BtnDEfault_Click">DEFAULT BUTTON</Button>
<Button Name="BtnCancel" IsCancel="True" Click="BtnCancel_Click">CANCEL BUTTON</Button>
</StackPanel>
</Window>
这是相关的IT技术代码:
这是代码:
private void BtnDEfault_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void BtnCancel_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
无论我点击默认按钮还是取消按钮,它都只返回false的DialogResult。
this.Close()
。将Window.DialogResult
属性设置为true或false会自动关闭对话框/窗口,无需额外操作。 - Paul-Sebastian Manole