我有一个视图模型,我以这种方式创建我的窗体:
System.Windows.Forms.DataVisualization.Charting.Chart chart = new System.Windows.Forms.DataVisualization.Charting.Chart();
我的XAML是:
<WindowsFormsHost x:Name="host" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<wfCharts:Chart x:Name="MyWinformChart" >
<wfCharts:Chart.Series>
<wfCharts:Series Name="SerieGraficoExterior" />
</wfCharts:Chart.Series>
<wfCharts:Chart.ChartAreas>
<wfCharts:ChartArea/>
</wfCharts:Chart.ChartAreas>
</wfCharts:Chart>
</WindowsFormsHost>
但我不知道是否可以绑定到我的视图,因为WindowsFormsHost
控件没有ContentControl之类的Content属性,所以我不知道是否可以使用{{1}在MVVM模式中。我用WPF做了一些尝试,后者在代码中工作,但我想尽可能使用MVVM模式。
感谢。
答案 0 :(得分:3)
您可以将Windows窗体控件嵌入到WPF应用程序中,但不能从窗体控件执行绑定。表单控件没有datacontext属性或依赖项属性,这是绑定的主干。
话虽这么说,您仍然可以在MVVM应用程序中使用表单主机,除了表单控件之外的所有内容,您需要手动执行管道。因此,除非您的应用程序的主要部分基于Windows窗体,否则您仍然可以从MVVM中获益。