从一个比较有趣的例子开始,英文原文见Expression Blend -> Help ->Welcome Screen -> User Guide -> Data -> Create an RSS news Reader
创建数据连结
- 点 New Project ( File 菜单), 然后点 Standard Application (.exe).
- 在 Project面板的Data下面,点 +XML Source按钮
- 输入Joycode作为 Connection Name 并输入 “http://www.joycode.com/MainFeed.aspx” 作为 URL for XML data, 然后点 OK.
- 如果你连在Internet上, 你将看到如下图所示的 Data。(但是,注意这里由于没有机会写代码,所以用的是同步方式载入数据,有可能很慢,界面处于不响应状态 - 亲身体会)
创建UI和绑定
- 展开rss > channel , 然后把description拖拽到artboard上(就是XAML的design视图上)。选择弹出窗口上的 Label并点Create Data Binding 对话框里的OK。
- 如果你的机器连在Internet上,你会看到“博客堂”三个字。
- 同样的, 展开 rss > channel, 拖拽 link 到artboard上。选择 Label 并接受缺省设置。
- 现在创立一个Grid 面板,并覆盖刚才两个控件下方的部分。选中 Grid 面板并找到Data Context 属性,(在Properties 面板中的 Common Properties中)。
- 点Data context property的 New 按钮边上的属性标记(小黑框)并在弹出菜单中选择 Data Binding.
- 在 Create Data Binding 对话框中, 选中 Data Field tab (缺省), 选中Joycode,然后在右边面板中展开 rss > channel ,并选择 item(Array)。 点 Finish。
- 双击Grid 面板激活它, 然后创建一个 ListBox 并让它占据Grid面板的左半边。
- 选中 ListBox, 然后找到Properties 面板中的ItemsSource属性。
- 点 ItemsSource 属性右边的小黑框,然后点弹出菜单中的 Data Binding。
- 选中 Explicit Data Context tab, 然后展开 rss > channel 并选择 item(Array)。 点 Define Data Template 按钮并在Create Data Template对话框中选择第三个选项 New Data Template。 清除 item 的check box, 勾上title 边上的check box, 然后 OK。 此时如果你连接在internet上,你的标题清单应该出现在listbox里面。
- 插入一个TextBlock并占据Grid的右半边,找到Properties面板中的 Text property。
- 点 Text properties 右边的小黑框,并选择 Data Binding。
- 在 Create Data Binding 对话框中,选中 Explicit Data Context tab, 展开 rss > channel > item(Array), 选中 description 然后点 Finish。 如果你连在internet上,你的TextBlock中应该显示出某个标题的正文。
- 按 F5 运行你的应用,你可以改变 ListBox 中的选项来查看不同的文章。
很难看的界面,而且载入时需要等待一会儿。不过,不需要写代码,至少设计人员可以在此基础上设计一个好看一点的界面了。
