Вы не показываете определение типа собрания и ваш класс контроллера, но попробуйте
.subscribe(data => { this.meeting = data; console.log(this.meeting) } )
Проблема, которую console.log
показывает undefined
, заключается в том, что функция обратного вызова внутри подписки выполняется асинхронно (ПОСЛЕ следующей строки кода: console.log) - поэтому, если вы поместите console.log в функцию обратного вызова, вы увидите результат
Вы также можете использовать следующую конструкцию с async / await:
async getData() {
this.meeting = await this.meetServ.rolloutMeeting(this.singleMeetingID).toPromise();
console.log(this.meeting)
}
, но вы должны знать, что на самом деле код после await (console.log) будет запускаться асинхронно после загрузки данных (так что это что-то вроде синтаксического сахара, который делает ваш асинхронный код похожим на синхронный, поэтому он менее вложен)
AH ХА!
Мое Главное окно имеет событие LocationChanged, которое я связал со своим UpdateChildWindowPosition (). LocationChange стреляет, когда (понятное дело) местоположение изменяется, таким образом, он непрерывно стреляет, поскольку я перемещаю окно, когда DragMove () выполняется в моем DragWindow, отправленном выше.
Можно использовать свойства Left и Top окна для размещения вторичного окна. Вот грубый бит кода как пример:
В коде MainWindow:
mDebugWindow.Left = this.Left + this.ActualWidth;
mDebugWindow.Top = this.Top;
В этом случае mDebugWindow является моим дочерним окном. Этот код говорит этому находиться на правой стороне главного окна с вершинами выровненных окон.
Надеюсь, это поможет.
Можно ли подвергнуть DragMove () метод для "дочерней" формы? Затем просто назовите его от родителя?
public void DragWindow(object sender, MouseButtonEventArgs args)
{
DragMove();
UpdatePosition();
childForm.DragMove();
childForm.UpdatePosition();
}
или если Вы просто используете положение мыши для определения, куда переместить форму, сделать те же вычисления в текущем DragMove () метод и изменить Форму. Свойство Location Вашей дочерней формы также?