내 ChildWindow
에는 CloseButton이 있고 핸들러는 Click
이벤트에 할당되어 있습니다. (단, 예를 들어) 코드 : 빠른 후ChildWindow 여러 번 빠르게 클릭하면 닫기 버튼 이벤트 핸들러가 여러 번 실행됩니다.
OnCloseButtonClick(object sender, RoutedEventArgs e)
{
DialogResult = true;
System.Diagnostics.Debug(_i++);
}
:
<Button x:Name="CloseButton" Click="OnCloseButtonClick" />
개인 카운터 (진단 문제에 대한) :
private uint _i;
닫기 이벤트 핸들러
닫기 버튼 선언 클릭 프로그램은 "1", "2", "3"등을 출력 할 수 있습니다 ... 내가 아는대로 ny DialogResult
= true
(또는 false
)이면 ChildWindow를 닫아야하며 CloseButton의 Click
이벤트를 두 번째로 올릴 수 없습니다.
누구든지 문제의 원인을 파악하고 부울 플래그 (실행/실행)없이 문제를 해결하는 데 도움을 줄 수 있습니까? 내 의견
문제는 가까운 애니메이션 완료되고 윈도우가 닫힐 때까지 버튼 이벤트를 사용할 수있는 의미 창을 닫으려면 창 닫기 애니메이션을 활성화하기 때문에 복사
첫 번째 줄'((Button) sender)를 추가합니다 .IsEnabled = false'가 해결책이 아닙니까? –
예, 맞습니다.하지만 해결 방법과 비슷합니다. 그리고 나는 또한 문제의 원인을 알고 싶다. –
아무 문제 없다고 생각합니다. 단추를 여러 번 클릭 할 수 있으며 단추를 클릭 할 수 없게 할 때 단추를 비활성화 할 때까지 사용 가능합니다. – Jehof