간단한 불리언 값을 설정하여 창이 이미 열려 있는지 확인 하시겠습니까?
private bool isWindowAlreadyOpen = false;
private void Dictionary_Click(object sender, RoutedEventArgs e)
{
if (!isWindowAlreadyOpen)
{
Dictionary dic = new Dictionary();
dic.Show();
dic.Topmost = true;
isWindowAlreadyOpen = true;
}
}
트릭을해야합니다.
편집
당신은 부울 설정 해제하기 위해 윈도우의 폐쇄 이벤트를 등록해야합니다 : 당신은이 창을 원하는 경우 dic.ShowDialog()
을 사용할 수 있습니다, 또는
private bool isWindowAlreadyOpen = false;
private void Dictionary_Click(object sender, RoutedEventArgs e)
{
if (!isWindowAlreadyOpen)
{
Dictionary dic = new Dictionary();
dic.Show();
dic.Topmost = true;
dic.Closed += Dictionary_Closed;
isWindowAlreadyOpen = true;
}
}
private void Dictionary_Closed(object sender, EventArgs e)
{
isWindowAlreadyOpen = false;
}
EDIT2
을 맨 위와 유일한 인스턴스가되어야합니다.
나는 그것을 시도했다. 그것은 작동합니다. 하지만 창을 닫고 다시 열어 볼 때 열려 있지 않습니다. 그것에 대해 조금이라도 생각해 볼 수 있습니까? 덕분에 모두 . – neki
고마워요. 그것은 효과가 있었다. 나는 wpf와 .net의 새로운 것이다. 다시 감사합니다. 잘 했어. – neki