窗口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); }
}
我在Visual Studio中检查了它,当我的窗口的属性SizeToContent设置为"Height"时,它没有工作。当我把它移开时,一切都正常了。
你也应该改变行序:
InitializeComponent();
DataContext = new MyWindowViewModel();
:
DataContext = new MyWindowViewModel();
InitializeComponent();