2009-08-13 55 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中正确数据绑定的极好介绍。