2011-06-02 45 views
0

我正試圖讓我的腦袋圍繞數據綁定的力量和複雜性。我正在研究一個相當複雜的應用程序,它需要一個視圖模型來聚合所有不同的數據,然後將該模型綁定到用戶控件。程序化數據綁定

我的視圖模型的結構創建了許多類來管理各個數據元素,我想以編程方式將這些類綁定在一起,即在UI外部。

我需要將兩個看似無關的類的數據元素綁定在一起。然後,我可以使用xaml將聚合類數據帶到UI。

換句話說,類「A和」 B「每有一個字符串聲明爲」 Name」。我想,這樣當要麼實現雙向的這些結合‘姓名’改變,結合需要的護理數據更新。

這個任務似乎很容易,但我一直沒能找到任何的例子。

+0

Winforms,WPF或Web應用程序? – CharithJ 2011-06-02 01:51:49

+1

顯然WPF ... – Blindy 2011-06-02 02:23:46

回答

0

當涉及到數據綁定this MSDN page是高度相關的。

你應該注意到,綁定需要目標財產是一個DependecyProperty,而且這種綁定在概念上是片面的,他們只能在兩個方向上進行,而只能在一端進行。

您通常不希望DependencyProperties是您的模型,因爲它需要它繼承DependencyObject。通過在兩個類中引用相同的名稱包裝對象來實現這種關係可能會更好。

+0

感謝您的快速響應。我會回顧所有推薦的閱讀材料,看看我能否解決這個問題。 – Jamie 2011-06-02 20:28:50

0

綁定非UI視圖模型類將變得非常複雜,因爲您必須手動掛接屬性更改的通知,然後設置聚合屬性。但MultiBinding是專門爲這種情況設計的。

而不是創建聚合類屬性/類,你應該嘗試MultiBinding的, http://msdn.microsoft.com/en-us/library/system.windows.data.multibinding.aspx

另一種方法是用以下LambdaBinding擴展輕鬆創建MultiBinding。

聲明:我會在這裏談論我公司的產品。

我們有一個名爲Lambda Binding的東西,它允許您綁定涉及其他控件和任何其他數據項的複雜表達式。

http://uiatoms.neurospeech.com/2011/03/ui-atoms-1-7-5-released/

+0

感謝您的快速響應。我會回顧所有推薦的閱讀材料,看看我能否解決這個問題。 – Jamie 2011-06-02 20:28:43