这是我的第一篇文章。
因此,我已经在构建这个WPF C#应用程序几个月了,而我偶然发现了这个问题。
我已经创建了一个具有注销验证功能的页面(页面名称为UHP),单击“注销”按钮时会弹出一个窗口。窗口询问用户是否要注销,如果是,则应导航到[ngClass]="{'is-active': group.prop === activeProp || (firstItem && !activeProp)}"
,如果不是,则应停留在同一页面上。
在代码中,只要按下“注销”按钮,我就将UHP页面设置为导航到MainWindow
,因此,按下“是”还是“否”都没有关系。我要检测注销验证窗口中是否已按下“是”或“否”按钮,以便仅在按下“是”时才执行UHP页面中的代码。
在此处显示页面(UHP)上的“注销”按钮的代码:
MainWindow
“注销验证”窗口的代码:
public void UserLogoutBtn_Click(object sender, RoutedEventArgs e)
{
var lovmsgb = new Custom_MessageBoxes.LogoutVerification();
lovmsgb.ShowDialog();
var mainWin = new Page();
NavigationService.Navigate(mainWin);
}
MainWindow代码,以防万一:
public LogoutVerification()
{
InitializeComponent();
}
private void YesLogoutBtn_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void NoLogoutBtn(object sender, RoutedEventArgs e)
{
this.Close();
}
答案 0 :(得分:0)
您应按以下方式使用ShowDialog()
:
Dialog.xaml 窗口:
<Window x:Class="Dialog">
<Grid>
<StackPanel>
<TextBlock Text="This is a dialog" />
<StackPanel Orientation="Horizontal">
<Button Content="Ok"
IsDefault="True"
Click="OkButton_OnClick"/>
<Button Content="Cancel"
IsCancel="True" />
</StackPanel>
</StackPanel>
</Grid>
</Window>
由于在取消按钮上将IsCancel
设置为True
,因此当单击取消按钮(或通过关闭关闭对话框关闭对话框)时,对话框自动返回false
作为对话框结果图标或Alt + F4)。因此,不需要专用的取消事件处理程序。如果使用“确定”按钮,则必须明确设置结果(请参见下文)。
“代码”按钮Click
事件处理程序后面的 Dialog.xaml.cs 代码:
private void OkButton_OnClick(object sender, RoutedEventArgs e)
{
this.DialogResult = true;
}
修改后的UserLogoutBtn_Click
处理程序:
private void UserLogoutBtn_Click(object sender, RoutedEventArgs e)
{
var dialog = new Dialog() {Owner = this};
// Returns when the dialog window was closed
bool? dialogResult = dialog.ShowDialog();
if (dialogResult.Value)
{
// Ok was clicked
var mainWin = new Page();
NavigationService.Navigate(mainWin);
}
else
{
// Cancel was clicked or the window was closed
}
}
答案 1 :(得分:-2)
您知道MessageBox吗?如果不是-Google。它使您可以显示一条消息,并且可以将模式设置为显示“是/否”按钮。您可以根据用户单击的按钮编写If语句。