news 2026/9/3 1:36:59

WPF xaml中的 xmlns:d=“http://schemas.microsoft.com/expression/blend/2008“ 的使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WPF xaml中的 xmlns:d=“http://schemas.microsoft.com/expression/blend/2008“ 的使用

在编辑界面代码时,我发现一行代码:

d:DataContext="{d:DesignInstance Type={x:Type localVM:EmbossingActionConfigPageViewModel}, IsDesignTimeCreatable=False}"

关于其中的DataContext的指定逻辑让我很疑惑。

因为我在C#代码中也指定了DataContext,给我的感觉就是这里的d:DataContext=...并没有起作用,以下是学习到的知识点:

各部分含义:

  1. d:命名空间

    • 这是设计时命名空间,通常定义为:

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    • 只在设计时生效,运行时会被忽略

  2. d:DataContext

    • 仅为设计器设置数据上下文

    • 不会影响运行时的实际DataContext

  3. d:DesignInstance

    • 一个特殊的标记扩展,创建设计时实例

  4. Type={x:Type localVM:EmbossingActionConfigPageViewModel}

    • 指定要使用的ViewModel类型

    • localVM是ViewModel的命名空间前缀

  5. IsDesignTimeCreatable=False

    • 重要参数!表示不真正创建ViewModel实例

    • 只使用类型元数据提供智能感知

实际作用

1.提供智能感知

<!-- 在设计器中,你可以这样绑定: --> <TextBox Text="{Binding ViewModelProperty}" /> <!-- ↑ 输入时会有ViewModel属性的智能感知提示 -->

2.设计时预览

<!-- 如果 IsDesignTimeCreatable=True --> d:DataContext="{d:DesignInstance Type=localVM:MyViewModel, IsDesignTimeCreatable=True}"

会实际创建ViewModel实例,可以:

  • 预览真实数据

  • 看到控件样式

  • 测试布局

3.与运行时DataContext的关系

<!-- 典型用法 --> <UserControl x:Class="MyView" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" d:DataContext="{d:DesignInstance Type=localVM:MyViewModel, IsDesignTimeCreatable=False}" DataContext="{Binding MyViewModel, Source={StaticResource Locator}}"> <!-- 设计时:使用d:DataContext获取智能感知 运行时:使用实际的DataContext绑定 --> </UserControl>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 10:55:30

第21届全国大学生智能汽车竞赛提问与回答:走马观碑组别

第二十一届全国大学生智能汽车竞赛比赛规则第21届全国大学生智能汽车竞赛提问于回答&#xff08;总入口&#xff09;第21届智能车竞赛走马观碑组比赛场地与目标板说明 01 提问与回答2月份 序号提问回答备注1卓大大&#xff0c;走马观碑组&#xff0c;可不可以让三轮车后面两个…

作者头像 李华
网站建设 2026/9/2 22:14:34

第21届全国大学生智能汽车竞赛提问与回答:单车定向组别

第二十一届全国大学生智能汽车竞赛比赛规则第21届全国大学生智能汽车竞赛提问于回答&#xff08;总入口&#xff09;第21届智能车竞赛单车定向组比赛科目细则 01 提问与回答2月份 序号提问回答备注1卓老师&#xff0c;关于单车定向组&#xff0c;有两个问题。1、可不可以自己制…

作者头像 李华
网站建设 2026/9/2 23:27:19

科士达视角:智算中心背后的供配电变革

作者&#xff1a;王聪彬 人工智能一飞冲天&#xff0c;算力需求也同步“飙升”&#xff0c;算力也成为数字经济时代新的生产力。在这场技术革命中&#xff0c;作为AI发展的关键基础设施&#xff0c;智算中心正加速步入规模化落地阶段&#xff0c;一个万亿级市场随之打开。 当前…

作者头像 李华
网站建设 2026/9/2 9:37:12

Thinkphp和Laravel框架的广告服务型互联网平台

目录ThinkPHP与Laravel框架在广告服务型互联网平台的应用对比开发效率与学习成本性能与扩展性安全与维护典型应用场景技术栈建议开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;ThinkPHP与Laravel框架在广告服务型互联网平台的应…

作者头像 李华
网站建设 2026/9/2 23:56:32

编译鸿蒙6.0release版本出错

编译bash build/build_scripts/env_setup.sh 出错Installing /home/tools/qemu-5.2.0/pc-bios/keymaps/sv to /usr/local/share/qemu/keymapsnpm ERR! code E404npm ERR! 404 Not Found - GET https://repo.harmonyos.com/npm/ohos%2fhpm-clinpm ERR! 404npm ERR! 404 ohos/hp…

作者头像 李华
网站建设 2026/9/2 22:21:46

超表面全息成像仿真全流程探索:从理论到实践

基于超表面全息成像 仿真 全流程&#xff0c;视频演示&#xff0c;代码&#xff0c;文献&#xff0c;案例 复振幅全息 纯相位全息 近场远场成像最近在研究超表面全息成像相关内容&#xff0c;发现这个领域真的很有意思&#xff0c;今天就来和大家分享一下基于超表面全息成像仿真…

作者头像 李华