2010-11-19 83 views
1

最近,我問this問題。WPF Listview操縱

對此的迴應,以及幾乎所有關於此主題的其他文章都基本上說,總是將列表視圖綁定到數據源並對其進行操作。我找不到任何說明原因的地方?

回答

3

因爲它可以更容易和更清潔seperate domain from presentation

Winform應用程序是事件驅動的。您必須處理各種控制事件並在代碼隱藏中編寫事件。所以程序員負責初始化控件/小部件,處理更改以及將更改寫回到底層存儲。這可能導致(通常會)導致嵌入到GUI中的大量邏輯。因此,無需通過GUI測試應用程序就很困難。

WPF已經改變了這一點。 WPF的數據綁定支持可確保您的UI更新並與其呈現的域對象同步。因此,您可以通過執行Add()來修改底層集合,並且綁定的UI將選取此更改並自行更新。因此,UI和底層數據源/存儲之間的連線現在以聲明方式處理(不需要編寫代碼)。您現在可以完全專注於底層域對象。另外,寫入自動化測試是相當令人愉快的。

恕我直言,你一旦得到它的竅門,往往會更有效率,併產生更清潔的設計。查看Josh Smith關於MVVM的MSDN文章,WPF