2010-05-14 53 views
0

我剛剛開始使用Silverlight(無WPF經驗),並且很難找到提供數據綁定完整說明的源代碼。絕對不缺乏教程(從Silverlight.net或Scott Gu的博客開始),但我發現的所有內容都是「通過示例」。學習Silverlight 4基礎知識4數據綁定

是否有一種資源解釋了數據綁定在基本/概念視角下如何在Silverlight中工作,並提供數據綁定功能的端到端覆蓋?

的信息更根本的來源是由一系列的問題今天下午來到了審查教程和寫作示例應用程序,如驅動的願望:

  • 爲什麼我不能綁定值這樣的滑塊:Value =「{Binding = Age,Mode = TwoWay}」其中Age是指對象數據上下文中的int屬性我在代碼隱藏中綁定(Visual Studio錯誤消息是預期' []'
  • 如何在VS 2010中使用DataContext屬性?什麼是路徑,相對源,靜態S wece,...?

回答

1

Silverlight的數據綁定引擎與WPF非常相似。一個體面的概述在這裏http://msdn.microsoft.com/en-us/library/ms752347.aspx

爲了回答您的具體問題:

  • 你應該能夠做到這一點。我只是在Blend中創建了一個小項目來嘗試這個,它效果很好。有一點技巧就是數據綁定引擎實際上是在內部爲你轉換double和int(因爲Slider.Value是double)。

  • DataContext用於設置樹中該元素下的任何綁定表達式的上下文。默認情況下,路徑相對於DataContext。例如,如果使用DataContext="{Binding RelativeSource={RelativeSource Self}}"將自己的DataContext設置爲根元素,則可以添加類似<TextBlock Text="{Binding Width}" />的內容,以添加顯示根元素寬度的TextBlock。路徑只是一個隱含的論點,所以你可以做"{Binding Path=Width}",它會做同樣的事情。

  • 相對來源允許您選擇不使用DataContext,而是使用其他一些來源,例如自己在{RelativeSource Self}中。