我有一個屬性public MyClass MyProperty{...}
的控件,其值在屏幕上顯示爲圖形。我想這個屬性通過使用Binding
類是綁定到程序中的任何其他MyClass
(MyProperty
將是thisBinding
構造函數中的參數propertyName
,其他MyClass
將是dataMember
參數)。WinForms上的單向綁定?
MyClass
implements INotifyPropertyChanged
所以在那邊一切都很好。但是,如果我沒有在MyProperty
中實現get
訪問器並嘗試綁定某些內容,我會得到一個「無法綁定到目標控件上的屬性'MyProperty' 參數名稱:PropertyName」錯誤。
這是否意味着我有實施get
訪問,即使我知道我永遠不會需要閱讀它的價值,我想一個單向(源到目標)結合,即使我只是在get
返回null
訪問器?
我猜Binding
類使用它來比較新的值與舊的值或做一些其他的內部的東西。那麼,如果返回null
是一個好主意,或者最好總是保留最後一個對象與set
訪問器分配的副本並將其返回到get
訪問器中。也許我真的不需要寫一個get
訪問器,而我正在做其他的錯誤。只是在我註釋掉get
訪問者時纔會出現錯誤,並在我放回時停止訪問。
編輯:如果有任何困惑:當我說MyProperty
的價值在屏幕的曲線圖上顯示我不是指它在屏幕上的數值,其他一些代碼的讀取和顯示。沒有人從MyProperty
中讀取任何值。 MyProperty
的set
訪問器是在屏幕上繪製東西的那個,這就是循環的結束。
請重新格式化以使用段落。 – 2010-10-23 05:27:10
還有一個OneWayToSource綁定。很難判斷它是否能夠解決您的問題,因爲我無法完整閱讀它:)給出一些簡短的示例代碼片段。 – 2010-10-23 05:28:14
其實我想過段落,但不知道把它們放在哪裏。我會把它們放在周圍的某個地方:)。 – Juan 2010-10-23 05:32:25