Есть ли способ напрямую получить объект Window, на котором находится элемент управления?
Предполагая, что элемент управления находится непосредственно под окном, вы можете вызвать GetParent в LogicalTreeHelper.
Вам, конечно, может понадобиться использовать LogicalTreeHelper для обхода дерева, еслиКонтроль не является прямым потомком.
LogicalTreeHelper
Скорее всего, вы находитесь в активном окне приложений в тот момент, когда вы взаимодействуете с элементом управления.
Так что в этом случае может пригодиться и этот другой пост на stackoverflow:
stackoverflow: получить активные окна в wpf
Немного опоздал, но для меня следующее работает довольно хорошо.
var ownerWindow = Window.GetWindow(yourControl);