gpt4 book ai didi

c# - WPF 在代码后面初始化对象并在 View 模型中使用该对象

转载 作者:行者123 更新时间:2023-12-03 11:03:06 26 4
gpt4 key购买 nike

我需要在后面的 xaml.cs 代码中初始化对象,然后在绑定(bind)的 View 模型中使用该对象。但是当我这样做时,对象会正确初始化,但 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; }

DataPlotModel在 viewmodel 中始终为空,除非我在 viewmodel 中严格初始化它。

最佳答案

您需要设置 DataPlotModel某处 View 模型的属性:

MainWindowViewModel viewModel;

public MainWindow()
{
viewModel = new MainWindowViewModel();
DataContext = viewModel;

InitializeComponent();

viewModel.DataPlotModel = new PlotModel(); //<-- Set the view model property
}

您应该设置 View 模型属性,而不是直接设置控件的属性,因为这会破坏绑定(bind)。

关于c# - WPF 在代码后面初始化对象并在 View 模型中使用该对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45588224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com