Я верю, что вы правы ... это в значительной степени излишне. Я думаю, проблема в том, что свойство Visibility
унаследовано от UIElement
и может интерпретироваться как «Если это имеет нормальное визуальное представление».
Поскольку Popup
не имеет визуального представления в своем состоянии по умолчанию ... т.е., когда оно закрыто, свойство не имеет большого значения. IsOpen
, однако, является скорее свойством на основе поведения ... т.е.: "Разрешено ли пользователю взаимодействовать с моим обычно скрытым содержимым?". Или, может быть, я просто оправдываю работу Microsoft, здесь.
В конце концов, все, что имеет представление пользовательского интерфейса, наследуется от UIElement
и поэтому получает свойство Visibility
... даже в тех случаях, когда это ничего не значит.