WPF/Silverlight 中的数据绑定围绕依赖属性、DataContext
对象和DataSource
对象展开。据我所知,依赖属性与环境属性是一样的,它们对绑定的意义基本上是如果你把一堆小部件放在一个容器中,那么你只需要为DataContext
容器指定一个。
这个问题有几个部分。
DataContext
和和有什么区别DataSource
,它们有什么关系?- 什么管理 WPF/Silverlight 数据绑定中的游标?
CurrencyManager
是否与 WinForms和有直接等价性BindingContext
? - 如何
Cursor
在 WPF/Silverlight 数据绑定中操作?
DataGrid
似乎CurrentItem
有财产。如果您将一堆小部件绑定到数据源的各个列,并且它们与数据网格共享相同的数据上下文,那么交互式移动数据网格中的选定行会更改其值在小部件中表示的行。有人可以向我解释一下这一切是如何结合在一起的吗?最好参考SL4。
当我这样做时:
private void buttonNew_Click(object sender, RoutedEventArgs e)
{
Guid newId = Guid.NewGuid();
Employee emp = new Employee() { Id = newId, FirstName = "NOT SET", LastName = "NOT SET" };
AtomDomainContext adc = employeeDomainDataSource.DomainContext as AtomDomainContext;
DomainDataSourceView ddsv = grid1.DataContext as DomainDataSourceView;
}
我得到这个编译错误:
The type 'System.ComponentModel.IPagedCollectionView' is defined in an assembly
that is not referenced. You must add a reference to assembly 'System.Windows.Data,
Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
D:\Argent\Views\ManageEmployees.xaml.cs, 57, 7, Argent
这听起来很容易解决,但是当我尝试添加对 Argent 项目的引用时,引用列表为空;大概一个仅限于 Silverlight 部署到目标计算机的那些程序集。那么现在我该怎么办?