Вы должны указать всплывающему окну также отображать себя.
codePopup.IsOpen = true;
см. этот блог для получения дополнительной информации.
[EDIT]по сути, ваше всплывающее окно не «привязано» (или «не принадлежит») любому родителю, оно не зависит от любого другого окна и / или элемента управления (и т. д.) К сожалению, не существует простого способа обойти это.
Вероятно, вам следует загрузить образец позиции всплывающего окна из MSDN здесь .
В примере кода используется класс CustomPopupPlacement с объектом Rect, и он привязывается к горизонтальным и вертикальным смещениям для перемещения всплывающего окна..