2009-08-13 61 views
1

我剛剛將所有設置從AppSettings轉換爲ConfigurationSections。它確實清理了一些東西,但我在使用偏好窗口時遇到了困難。我想在我的WPF窗口中使用綁定。綁定到ConfigurationSection

  • 我應該將每個ConfigurationSections存儲在依賴屬性中並綁定到ConfigurationSection的屬性嗎?
  • 我應該使用調用ConfigurationManager.GetSection的ObjectDataProvider嗎?
  • 有沒有另一種方法可以做到這一點?

題外話:我發現WPF中的綁定真的很強大,但它有時會讓人困惑或難以創建綁定。我希望有更好的XAML文檔。

回答

1

你不需要做任何特別的事情 - 你可以綁定到具有普通舊屬性的類型。所有關於依賴屬性的東西都只能用於WPF控件本身。當涉及到你綁定的模型時,沒有特別的限制。儘管實現INotifyPropertyChanged是一個優點,但您可以綁定到普通舊C#對象(PO​​CO)。然而,與直接綁定到您的Domain對象(聽起來您的ConfigurationSections適合該角色)不同,在封裝真實的Domain對象時,顯式創建一個處理特定於視圖的職責的ViewModel通常是一個不錯的主意。

Josh Smith的文章Patterns: WPF Apps With The Model-View-ViewModel Design Pattern是對WPF中正確數據綁定的極好介紹。