我正在读一本书,上面写着
而不是设置 DialogResult
用户点击后手动
按钮,您可以将按钮指定为
接受按钮(通过设置
是默认为true)。点击那个
按钮自动设置
窗口的DialogResult为true。
同样,你可以指定一个按钮
作为取消按钮(通过设置
IsCancel 为 true),在这种情况下
单击它将设置 DialogResult
取消。
这是主窗口:
<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>
这是它的代码:
private void BtnDEfault_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void BtnCancel_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
无论我单击默认按钮还是取消按钮,我都可以看到它仅将 DialogResult 返回为 false。
IsDefault 将按钮与 Enter 键绑定,以便按 Enter 键将触发 Click 事件。这并不意味着“是”按钮将为 DialogResult 返回 true。
请参阅链接。它会为您解决问题
http://blog.wpfwonderland.com/2010/03/22/getting-a-dialogresult-from-a-wpf-window/ http://blog.wpfwonderland.com/2010/03/22/getting-a-dialogresult-from-a-wpf-window/
http://www.wpftutorial.net/Dialogs.html http://www.wpftutorial.net/Dialogs.html
希望能帮助到你...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)