2010-04-05 131 views
1

我開發了應用程序功能的一部分。我有數據綁定對象'A'和另一個對象'B'。C#。將對象綁定到對象

public class SomeProxy 
{  
    public SomeProxy(BindingSource A) 
    {   
     var b = new B(A.SomeProperty);   
    } 
} 

public class B 
{ 
    public B(List<T> somePropertyFromA) 
    { 
     SomePropertyFromA = somePropertyFromA; 
    } 

    public int SomePropertyFromA{get;set;} 

    //Some autocalculated propeties, that are based on SomePropertyFromA 

    //I want to reculculate them, when the SomePropertyFromA will be changed 
} 

'B' 對象culculates一些值,基於所述屬性 'A' 的 'A' 的對象。 我想將對象'B'中的屬性綁定到'A'中的同一個屬性'a'。需要處理'a'屬性的更改,因爲某些UI控件綁定到'B'屬性。 我該怎麼做?

對不起,有些奇怪。謝謝

+1

你的問題不清楚。你如何做綁定?什麼是「數據綁定對象」?如果你發佈了一些代碼,它會有所幫助。 – 2010-04-05 20:17:52

+0

對不起,我試着問這個問題比較清楚.. – w1z 2010-04-05 20:37:32

+0

如果你把對象綁定在一起。查看Automapper(http://automapper.codeplex.com/Wikipage)它支持將一個對象的屬性綁定到基於來自另一個對象的數據的方法或您選擇的方法。所以a.GetTotal()可以設置爲b.Total和更復雜的場景。 – Jab 2010-04-05 20:43:13

回答

1

你的意思是你需要一個雙向鏈接?

A和B都可以具有指向對方的屬性。只要確保創建A的對象B -outside-,以便可以執行依賴注入。 秩序的事情應該是:

B objectB = new B(); 
A objectA = new A(objectB); 

基本規則:不要在創建對象的構造函數。

+0

Yeap ..我深信,我不能完全明確地指出這個問題。 – w1z 2010-04-05 20:52:02