窗口WPF高度未绑定到模型属性

本文关键字:模型 属性 绑定 WPF 高度 窗口 | 更新日期: 2023-09-27 18:01:32

更新:此问题可能与绑定窗口高度和宽度的问题有关

我试图通过视图模型属性改变窗口高度。由于某些原因,它不能工作。

这是窗口类:

public partial class MyWindow
{
    public MyWindow()
    {
        InitializeComponent();
        DataContext = new MyWindowViewModel();
        // Does not work!
        // ((MainWindowViewModel) DataContext).Height = 50;
        // Works:
        //Height = 50;

MyWindow.xaml

<ctrls:MyBaseWindow x:Class="....MyWindow"
              ...
              Width="{Binding Width}"
              Height="{Binding Height}"
              d:DataContext="{d:DesignInstance viewModels:MyWindowViewModel}">

MyWindowViewModel.cs

public class MainWindowViewModel : ReactiveObject
{
    ...
    public int Height
    {
        get { return _height; }
        set { this.RaiseAndSetIfChanged(ref _height, value); }
    }

窗口WPF高度未绑定到模型属性

我在Visual Studio中检查了它,当我的窗口的属性SizeToContent设置为"Height"时,它没有工作。当我把它移开时,一切都正常了。

你也应该改变行序:

InitializeComponent();
DataContext = new MyWindowViewModel();

:

DataContext = new MyWindowViewModel();
InitializeComponent();