سلام
خوب ، مشکلش چیه؟

شما میتونید توی متد closeWindowClick ، توسط obj ، مقدار پروپرتی Text ئه TextBox (در صورت public یا داشتنِ سطح دسترسی مورد نیاز) در ویندوز دیگه را بخونید .
یا اگه TextBox تون private هست ، میتونید Text ئه TextBox را داخل یه پروپرتی دیگه در همون ویندوز بریزید و در متد closeWindowClick ، اون پروپرتی را بخونید .

البته ، شاید بهتر اش اینه که اگه مشکل Binding ندارید ، در ویندوز اصلی تون ، Binding کنید .
فرضا Text ئه TextBox تون را به پروپرتی ای در BuyingPage تون ، binding کنید .

-----------

command ، مکانیسمی هست برای آپدیت کردن model توسط view (اون هم اغلب ، از ورودی وسیله ها طراحی شده) .
شما در این مسئله تون ، دو ویندوز و user control دارید (از user control ، به ویندوز میخواین داده منتقل کنید) که هر دو ، در لایه ی view هستن . دیگه نیازی به استفاده از command و قوانین mvvm مطرح نیست .
هر چند بدون command ها هم با استفاده از متدها در viewmodel هم میشه این کار را انجام داد و model را توسط view ، آپدیت کرد (کار کرد command ها ، بیشتر در command های غیر دستی (غیر از custom command) هستن که راحت تر عملیات مربوط به ورودی ها مثل copy و اینها را در mvvm پیاده سازی کرد) .


ضمنا ، کدی که اینجا گذاشتید که کامل نیست که بشه از روش نظر بی نقص داد .
فرضا DataContext (کلا Source ئه Binding) ئه پروپرتی Text ئه TextBox ای که دادید ، حداقل تا زمانی که کد xaml اش را در بالا دادید و نوشتید ، معلوم نیست چیه (کد سی شارپ اش هم اگه باشه که ندادید) .
یا فرضا چرا UpdateSourceTrigger برای Binding ئه DataContext ئه VendorUc تعریف شده یا براش 2 طرفه تعیین شده؟
مگه میخواین وقتی DataContext ئه VendorUc تغییر کرد ، پروپرتی vendor هم تغییر کنه که بهش مربوط نمیشه؟
و ... .