1. 最外层是Window是对象,Window的ItemsControl使用了ItemsTemplate,然后在ItemsTemplate中要绑定Language属性,

而整个Window的数据源是通过DataContext来指定的,类型是自定义的WindowViewModel, 而Language就是WindowViewModel的一个属性

在Window的构造函数中书写:

this.DataContext = new WindowViewModel();

2.在ItemsTemplate中进行绑定,核心代码如下:

 <TabItem
Header="{Binding DataContext.Language, RelativeSource={RelativeSource AncestorType=Window, AncestorLevel=1}
}" />

其中注意:

使用了相对资源  RelativeSource来引用Window的DataContext,所以 AncestorType指定类型是Window, 层次是1层,
        特别要注意的是:

需要绑定的数据是WindowViewModel类型的,而相对资源指定的是Window元素,它是没有Language这个属性的,

Language是WindowViewModel的属性,而在这里我们正好将WindowViewModel赋值给了Window的DataContext,

所以在绑定时使用的Path应该是 DataContext.Language,其中DataContext是一定不能少写的。

最新文章

  1. script在html中的摆放位置
  2. 转载 Appstore 上传被拒原因及解释
  3. Magicodes.WeiChat——ASP.NET Scaffolding生成增删改查、分页、搜索、删除确认、批量操作、批量删除等业务代码
  4. @SuppressWarnings—注解用法详解
  5. Android OTA 升级之三:生成recovery.img
  6. 深入.NET平台和C#编程 错题录
  7. 黑盒测试用例设计方法&amp;理论结合实际 -&gt; 错误推断法
  8. hdu 2243 考研路茫茫——单词情结 ac自动机+矩阵快速幂
  9. hdu_5221_Occupation(树剖)
  10. dig命令
  11. PHP实现统计在线人数功能示例
  12. mysql的学习笔记(二)
  13. mysql 的优化
  14. Metasploit Framework(6)客户端渗透(上)
  15. windows 增加右键功能 --&gt;用命令行打开
  16. Luogu 1042 - 乒乓球 - [简单模拟]
  17. AI 机器学习基础
  18. 【C#】C#对电子邮件的收发操作
  19. html 语法
  20. JS学习笔记7_表单脚本

热门文章

  1. Java Web系列:Spring Security 基础
  2. CORS 跨域请求
  3. 常用脚本--SQL Server获取OS日志
  4. 常用脚本--Kill所有连接到指定数据库上的回话
  5. JavaScript日期(参考资料)
  6. WP8.1StoreApp(WP8.1RT)---第三方启动
  7. django 打印sql语句
  8. [文文殿下]基本的DP技巧
  9. jzoj100029
  10. 3D-2D:PnP