WPF/Silverlight中的數據綁定圍繞依賴項屬性,DataContext
對象和DataSource
對象。據我所知,依賴項屬性與環境屬性是一樣的,它們對綁定的重要性基本上是,如果你在容器中放置了一堆小部件,那麼你只需要爲容器指定DataContext
。DomainDataSource,綁定和遊標
這個問題有幾個部分。
DataContext
和DataSource
有什麼不同?它們是如何相關的?- 什麼管理WPF/Silverlight數據綁定中的遊標?是否有直接等價於WinForms
CurrencyManager
和BindingContext
? - 如何在WPF/Silverlight數據綁定中操作
Cursor
?
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
這聽起來很容易解決,但是當我嘗試添加一個參考銀色項目引用列表是空的;大概只有Silverlight部署到目標計算機的那些程序集。那麼現在我該怎麼做?