关于WPF中数据绑定的一般设计问题

时间:2009-08-19 23:21:48

标签: wpf data-binding treeview des

我开始在我的WPF项目中使用Binding,我实际上对于演示方面的一些事情感到困惑(XAML)。

所以我想用一个类别列表填充TreeView。我知道如何为我的类别列表实例编写正确的HierarchicalDataTemplate

<HierarchicalDataTemplate ItemsSource="{Binding Path=ChildrenCategories}" DataType="{x:Type src:Category}">
      <TextBlock Text="{Binding Path=Name}"></TextBlock>
</HierarchicalDataTemplate>

但现在我不知道的是从哪里获得清单。我有2个解决方案:

  1. 我上了Library Singleton课     这让我失去了权利     arborescence,然后我需要使用     我的xaml ObjectDataProvider     会打电话给     Library.Instance.Categories方法。 (这意味着控制器必须与UI完全分离。)

  2. 我有一个Property ListCategories         在我的页面interactionLogic中         (OpenUnit.xaml.cs),并绑定         用它来树。

  3. 我不确定xaml.cs文件的用途,它们的用途是什么?它通常用于存储属性(并充当控制器)或只是用于UI的后端(例如从UI获取值?)?

    如果xaml.cs文件用作控制器,我如何将数据绑定到它,我尝试了许多解决方案但没有成功,我唯一的成功就是使用了静态绑定。

    我很感激任何关于WPF中的UI和逻辑绑定的评论或建议,希望我不会那么困惑。

    提前致谢,

    鲍里斯

1 个答案:

答案 0 :(得分:0)

阅读完这篇精彩文章后,我有点不那么困惑了:

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

本文是关于Model View ViewController模式,以及WPF如何集成它。所以似乎xaml.cs文件应该在这里用作ViewController,并且应该保存属性。 它实际上是有意义的,因为混合View和Data不是一个好习惯,我们希望设计师应该完成一项完全独立的工作。

同样对于解决方案2),可以将数据上下文设置为当前文件。