Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF在代码隐藏中初始化对象,并在viewmodel中使用该对象_C#_Wpf_Xaml_Mvvm - Fatal编程技术网

C# WPF在代码隐藏中初始化对象,并在viewmodel中使用该对象

C# 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

我需要在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;

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每件事都按我的要求进行,谢谢!