Я полагаю, это происходит из-за того, что всплывающее окно сгибается в свойстве btnAddLinkComment.isChecked. Я полагаю, что происходит то, что вы нажимаете на кнопку, когда отображается pop, что заставляет ее закрываться и устанавливает для поля IsChecked кнопки значение false, что переводит кнопку в состояние без переключения; затем щелчок обрабатывается самой кнопкой, и поскольку он не переключается, он переключается, и всплывающее окно снова отображается. Я думаю, вы могли бы решить проблему, удалив привязку и выполнив некоторую обработку в коде; что-то вроде этого:
btnAddLinkComment.Click += btnAddLinkComment_Click;
popAddCommentLink.Closed += popAddCommentLink_Closed;
private void btnAddLinkComment_Click(object sender, RoutedEventArgs e)
{
if (popAddCommentLink.IsOpen && btnAddLinkComment.IsChecked == false)
popAddCommentLink.IsOpen = false;
else if (!popAddCommentLink.IsOpen && btnAddLinkComment.IsChecked == true)
popAddCommentLink.IsOpen = true;
}
private void popAddCommentLink_Closed(object sender, EventArgs e)
{
btnAddLinkComment.IsChecked = false;
}
надеюсь, это поможет, с уважением