Я пытаюсь связать ширину и высоту окна, используя MVVM.
В моей модели представления я объявляю это свойство:
public Size WindowSize
{
get => _windowSize;
set
{
_windowSize = value;
OnPropertyChanged();
}
}
В моем XAML я помещаю это:
<Window
Width="{Binding WindowSize.Width, Mode=TwoWay}"
Height="{Binding WindowSize.Height, Mode=TwoWay}"
...>
Если я сначала инициализирую его, как WindowSize = new Size(100, 600);
, он работает, но если я делаю то же самое на более позднем этапе в моем коде ViewModel, он только изменяет ширину окна.Я подписался на событие OnSizeChanged окна и обнаружил, что он вызывается только один раз, когда я устанавливаю размер, а в SizeChangedEventArgs обновляется только свойство NewSize.Width.Если я удаляю привязку ширины, она снова работает для высоты.Таким образом, кажется, что он не может распознать второе изменение ширины или высоты.Я уже пытался использовать два свойства, одно для ширины, а другое для высоты, но поведение не изменилось.
Есть идеи, что я делаю неправильно?