2010-03-16 50 views
1

最近我使用數據綁定來加速我的C#winforms應用程序的開發。但是我發現,當控件是文本框或文本類型和文本類型的控件時,數據綁定纔有用。如果事情變成單選按鈕,圖像控制或datagridview,我很難使用數據綁定。
例如,我很難將一組單選按鈕綁定到數據庫字段。
我很難預先處理數據庫中的數據,然後綁定到datagridview控件(我知道我可以使用視圖來做到這一點,但它不是那麼方便)
(另一個例子:數據庫中的值爲1和0,我需要在綁定datagridview之前轉換爲女性和男性)如何在C#winforms開發中使用數據綁定?

所以我真的很想知道,你們大多數人會在何時使用數據綁定?你將如何使用它?

編輯: 我知道,我可以把這些東西分成不同的層,但我確實希望利用數據綁定的,但是當我使用它,我發現它是不是方便,有沒有其他的遭受這個?

編輯: 但據我所知數據綁定就像是硬編碼,其綁定控件直接到數據庫字段,這是很難做出對這些用戶界面之後

回答

1

你應該改變看看Model-View-ViewModel的發展風格。從非常簡單的意義上說,ViewModel是模型(數據庫中的數據)和視圖(您的用戶界面)之間的映射。 ViewModel應該幾乎是純粹的數據綁定到UI。您的業​​務邏輯發生在這裏,它應該是非常可測試的。

+0

我已經閱讀了Model-View-ViewModel,但我不太瞭解,雖然這個概念看起來不錯,但在行動中,很難在我的代碼,任何其他建議或您自己的經驗中操作? – MemoryLeak 2010-03-16 13:19:22

1

最常見的,最好的。數據綁定可以爲UI開發節省很多時間,但不應該試圖「手動」綁定。但由於您調用的原因,將UI直接綁定到數據庫並不是一個好習慣:預處理。

您應該在UI和數據層之間放置一箇中間層,通常稱爲業務邏輯層,如Enigmativity所指。

因此,您可以在需要顯示的外觀下展示數據。也看看適配器設計模式。

+0

你的意思是「一個人不應該試圖綁定」「。」? – MemoryLeak 2010-03-16 13:56:19

+0

對不起,我的法語習慣短語...我的意思是編碼Control.Value = Data.Value.ToString(),並訂閱Control.ValueChangeEvent來解析控制值,等等...是不是更好地說,像這樣? – Seb 2010-03-16 14:01:10

+1

「手動」傾斜「硬編碼」或ou quelque選擇de similaire。 =) – 2010-03-16 14:05:43

相關問題