C# WPF在代码隐藏中初始化对象,并在viewmodel中使用该对象
我需要在xaml.cs代码中初始化对象,然后在绑定的viewmodel中使用该对象。但当我这样做时,对象会正确初始化,但viewmodel的行为就像它仍然为null一样 main window.xamlC# WPF在代码隐藏中初始化对象,并在viewmodel中使用该对象,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,我需要在xaml.cs代码中初始化对象,然后在绑定的viewmodel中使用该对象。但当我这样做时,对象会正确初始化,但viewmodel的行为就像它仍然为null一样 main window.xaml <oxys:PlotView x:Name="dataPlot" Model="{Binding DataPlotModel}" Margin="10,10,185,39"/> MainWindowViewModel.cs MainWindowViewModel viewModel
<oxys:PlotView x:Name="dataPlot" Model="{Binding DataPlotModel}" Margin="10,10,185,39"/>
MainWindowViewModel.cs
MainWindowViewModel viewModel;
public MainWindow()
{
viewModel = new MainWindowViewModel();
DataContext = viewModel;
InitializeComponent();
PlotModel DataPlotModel = new PlotModel();
dataPlot.Model = DataPlotModel;
}
public PlotModel DataPlotModel { get; set; }
并且viewmodel中的
DataPlotModel
始终为空,除非我在viewmodel中严格初始化它。您需要在某个地方设置视图模型的DataPlotModel
属性:
MainWindowViewModel viewModel;
public MainWindow()
{
viewModel = new MainWindowViewModel();
DataContext = viewModel;
InitializeComponent();
viewModel.DataPlotModel = new PlotModel(); //<-- Set the view model property
}
MainWindowViewModel视图模型;
公共主窗口()
{
viewModel=新的主窗口viewModel();
DataContext=viewModel;
初始化组件();
viewModel.DataPlotModel=new PlotModel();//您需要在某个地方设置视图模型的DataPlotModel
属性:
MainWindowViewModel viewModel;
public MainWindow()
{
viewModel = new MainWindowViewModel();
DataContext = viewModel;
InitializeComponent();
viewModel.DataPlotModel = new PlotModel(); //<-- Set the view model property
}
MainWindowViewModel视图模型;
公共主窗口()
{
viewModel=新的主窗口viewModel();
DataContext=viewModel;
初始化组件();
viewModel.DataPlotModel=new PlotModel();//我不认为这是问题所在。在viewModel中初始化PlotModel时,一切正常(视图更新绘图本身)。我已尝试添加public PlotModel DataPlotModel{get{return\u DataPlotModel;}集{u dataPlotModel=value;OnPropertyChanged(“dataPlotModel”);}}private PlotModel\u dataPlotModel;
但仍然没有问题。在viewmodel中初始化PlotModel时,一切正常(视图更新绘图本身)。我已尝试添加public PlotModel DataPlotModel{get{return{u DataPlotModel;}set{{u DataPlotModel=value;OnPropertyChanged(“DataPlotModel”);}private PlotModel\u dataPlotModel;
但仍然没有任何结果。但当我将其与@ASh suggestion组合以引发PropertyChanged事件时,一切都按我所希望的方式运行。谢谢!我也尝试了此方法,但没有结果。但当我将其与@ASh suggestion组合以引发PropertyChanged事件时,ev每件事都按我的要求进行,谢谢!