我需要在xaml.cs代码中初始化对象,然后在我的绑定视图模型中使用该对象。但是当我这样做时,对象正确初始化,但是viewmodel表现得像它仍然是空的。
MainWindow.xaml
<oxys:PlotView x:Name="dataPlot" Model="{Binding DataPlotModel}" Margin="10,10,185,39"/>
MainWindow.xaml.cs
MainWindowViewModel viewModel;
public MainWindow()
{
viewModel = new MainWindowViewModel();
DataContext = viewModel;
InitializeComponent();
PlotModel DataPlotModel = new PlotModel();
dataPlot.Model = DataPlotModel;
}
MainWindowViewModel.cs
public PlotModel DataPlotModel { get; set; }
除非我在viewmodel中严格初始化它,否则viewmodel中的DataPlotModel
始终为null。
答案 0 :(得分:1)
您需要在某处设置视图模型的DataPlotModel
属性:
MainWindowViewModel viewModel;
public MainWindow()
{
viewModel = new MainWindowViewModel();
DataContext = viewModel;
InitializeComponent();
viewModel.DataPlotModel = new PlotModel(); //<-- Set the view model property
}
您应该设置视图模型属性,而不是直接设置控件的属性,因为这会破坏绑定。