Несколько экранов - это немного проблема, и у нее нет встроенного, хорошо отбитого способа справиться с ними, но с некоторыми математиками и SystemParameters вы можете это сделать.
Если вы позиционируете свое окно в позиции (0,0), это будет верхний левый угол основного экрана. Поэтому для того, чтобы сделать ваше окно появится в центре этого использования экрана:
this.Left = (SystemParameters.PrimaryScreenWidth/2) - (this.ActualWidth/2);
this.Top = (SystemParameters.PrimaryScreenHeight/2) - (this.ActualHeight/2);
Основная идея не просто достаточно, чтобы объяснять не надо.
Этот код предназначен для C#, но я уверен, что у VB есть нечто подобное.
Также обратите внимание, что вы должны использовать свойство ActualWidth \ ActualHeight, а не свойство Width \ Height, поскольку оно может содержать значение NaN.
Удачи.
+1, хороший вопрос. Мы также должны были работать с wpf через Citrix и сражаться с центрированием/максимизацией wpf и проблемами Citrixes! :) – Russell