我已经用Datacontext ViewModel创建了xaml对象。
如何以编程方式创建它,而不是在XAML中创建它?
<Window.Resources>
<local:CreateMultiPaneStockChartsViewModel x:Key="ViewModel" />
</Window.Resources>
<Grid x:Name="Grid">
<local:CreateMultiPaneStockCharts DataContext="{StaticResource ViewModel}" />
</Grid>
或者如何以编程方式绑定datacontext?
后面的代码:
var view = new CreateMultiPaneStockCharts
{
DataContext = Resources["ViewModel"]
}
Grid.Children.Add(view);
使用WPF数据模板的概念,您将创建一个DataTemplate资源,该资源自动应用于适当的视图模型类型,如:
<Window.Resources>
<DataTemplate DataType="{x:Type local:CreateMultiPaneStockChartsViewModel}">
<local:CreateMultiPaneStockCharts />
</DataTemplate>
</Window.Resources>
如果将视图模型实例分配给(例如)ContentControl的Content
属性,或者将ItemControl的ItemsSource
属性分配或绑定到视图模型实例集合,则会自动应用DataTemplate。