[英]WPF initialize object in code behind and use that object in viewmodel
我需要在xaml.cs代碼后面初始化對象,然后在綁定的viewmodel中使用該對象。 但是,當我這樣做時,對象會正確初始化,但是viewmodel的行為就像它仍然為null。
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中嚴格初始化它,否則DataPlotModel
中的DataPlotModel
始終為null。
您需要在某處設置視圖模型的DataPlotModel
屬性:
MainWindowViewModel viewModel;
public MainWindow()
{
viewModel = new MainWindowViewModel();
DataContext = viewModel;
InitializeComponent();
viewModel.DataPlotModel = new PlotModel(); //<-- Set the view model property
}
您應該設置視圖模型屬性,而不是直接設置控件的屬性,因為這會破壞綁定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.