在我的MenuItem上,我打开一个窗口。然后,如果该人选择再次点击该MenuItem,我需要打开的窗口关闭。
然后很明显,如果他们第三次点击它就会打开,所以第四次。
XAML
<MenuItem x:Name="btnHelp" Click="btnHelp_Click" Foreground="#FF7E8385" FontFamily="Calibri" FontSize="18" Margin="110,10,0,0" Height="30" Width="70" Style="{x:Null}" BorderBrush="Transparent" Background="Transparent" Cursor="Hand"/>
代码
private void btnHelp_Click(object sender, RoutedEventArgs e)
{
xamlHelp help = new xamlHelp();
help.Show();
}
答案 0 :(得分:4)
您需要将变量设置为实例字段,而不是局部变量,以便可以在调用之间访问它。此时,如果它存在则关闭它,如果不存在则重新显示/显示它:
private xamlHelp help = null;
private void btnHelp_Click(object sender, RoutedEventArgs e)
{
if (help != null)
{
help.Close();
help = null;
}
else
{
help = new xamlHelp();
help.Show();
}
}
答案 1 :(得分:1)
您可以跟踪当前是否显示帮助,并根据该信息显示/隐藏
private xamlHelp help = new xamlHelp();
private bool showingHelp = false;
private void btnHelp_Click(object sender, RoutedEventArgs e)
{
if (showingHelp)
{
help.Hide();
}
else
{
help.Show();
}
}