Ни один из этих ответов не работал для меня частично, потому что у меня нет размера Popup. Я закончил тем, что делал это в следующем коде:
var popup = new Popup
{
Child = new YourUIControlHere(),
Placement = PlacementMode.Center,
PlacementRectangle = new Rect(new Size(
SystemParameters.FullPrimaryScreenWidth,
SystemParameters.FullPrimaryScreenHeight))
};
Это можно легко расширить на XAML, добавив привязку к размеру экрана.
Очевидным улучшением является использование текущего экрана для поддержки нескольких мониторов. Однако получить текущие размеры окна значительно сложнее.