2010-10-19 51 views
2

我已经创建了一个新的WPF项目,并投入了一个DataGrid。现在我试图找出将数据集合绑定到它的最简单方法。DataContext通常如何设置?

我下载的例子似乎做窗口c'tor:

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     DataContext = new ViewModel(); 
    } 
} 

但随后的绑定似乎并没有出现在Visual Studio的属性窗口。我很肯定有一种方法可以在XAML中设置数据上下文......如果我可以直接通过属性窗口来完成,它会让我更加快乐,但是所有的绑定选项都是空的。典型的方法是什么?

编辑:At 14 minutes,他开始谈论设置数据上下文的其他方法,比如静态资源和一些“注入”方法。我想更多地了解这些!

+0

在代码隐藏中设置'DataContext'似乎是最容易的,因为您通常会想要一堆代码来修改它......这样您就不必一直在检索DataContext将其转换为适当的类型。 – mpen 2010-10-19 22:01:27

回答

2

看看MVVM design pattern。这种模式非常适合wpf应用程序。

描述了存储数据的位置以及如何将您的UI绑定到数据。

+0

希望得到一个快速的答案,而不是另一个怪物教程;)我已经阅读了有关MVVM和ASP .NET MVC,但我特别想知道如何绑定数据,使其与属性窗口一起工作。 – mpen 2010-10-19 07:06:59

3

我通常使用的是MVVM。您可以通过在代码背后设置数据上下文来实现简化版本,并使模型类型类保存您的数据。

例子:在后面

DataContext = Model; // where Model is an instance of your model 

然后在您的视图代码

<DataGrid .... ItemsSource="{Binding SomeProperty}">.... 

SomeProperty是您的视图模型

您还可以设置在数据方面可枚举属性XAML使用DataContext属性

<uc:SomeUserControl DataContext="{Binding AnotherProperty}".... 

这将在模型上的AnotherPropertyDataContext范围内运行您的用户控件。

请注意,这是粗略简化,但它会让你在路上。

相关问题