0

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

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

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

但现在我不知道从哪里得到这份名单。我这里有 2 个解决方案:

  1. 我有一个Library Singleton类返回正确的树状结构,然后我需要 ObjectDataProvider在我的 xaml 中使用一个调用 Library.Instance.Categories 方法的类。(这意味着控制器必须与 UI 完全分离)。

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

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

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

如果对 WPF 中的 UI 和逻辑绑定有任何评论或建议,我将不胜感激,希望我不会感到困惑。

提前致谢,

鲍里斯

4

1 回答 1

0

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

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

这篇文章是关于 Model View ViewController 模式,以及 WPF 如何集成它的。所以看起来 xaml.cs 文件应该在这里用作 ViewController,并且应该保存属性。这实际上是有道理的,因为混合视图和数据不是一个好习惯,我们希望设计师应该有一个完全独立的工作要做。

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

于 2009-08-20T00:06:45.733 回答