当前位置: 首页 > news >正文

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>
http://www.jsqmd.com/news/338167/

相关文章:

  • 2026年 内蒙古消防工程服务推荐榜单:专业消防检测、维保、安装、设计、施工、评估与智能消防系统一站式解决方案 - 品牌企业推荐师(官方)
  • 从“金鱼记忆“到“持久化大脑“:AI Agent三大核心技术突破,开发者必藏
  • 数据智能服务商评估报告
  • 《如何解决复杂的公网 IP 配置:JSON Crack 和 cpolar 》
  • 2026年婚介机构公司权威推荐:婚介机构/附近有婚介所吗/婚介信息/选择指南 - 优质品牌商家
  • 2026年20号无缝钢管公司权威推荐:中厚壁无缝钢管/酸洗钝化无缝钢管/20号无缝钢管/高压锅炉无缝钢管/45号无缝钢管/选择指南 - 优质品牌商家
  • 收藏!Agent+MCP+Skills:AI从“能聊“到“能干“的跃迁之路
  • IPD咨询:企业如何打破部门墙,实现一体化产品创新?
  • 同程国际机票退改签服务体系解析:基于标准化与透明化的体验构建 - 资讯焦点
  • 【AI Agent全栈指南】从聊天机器人到数字员工:2025年智能革命必看技术,附开发框架与实战代码,建议收藏!
  • AB实验高级必修课(二):从宏观叙事到微观侦查,透视方差分析与回归的本质
  • 【必读】Agent Skills到底是什么?与Tool和MCP的关系深度解析,收藏这篇不再被概念忽悠
  • 2026美国西海岸旅行全攻略:从经典路线规划到高性价比机票预订 - 资讯焦点
  • 开源贾维斯进阶!Clawdbot微信AI助理升级:解锁自动化+记忆+多插件,办公效率直接翻倍(附避坑实战)
  • 研究生论文必备 AI写作辅助工具推荐(高效提效 / 贴合学术规范)
  • 瑞祥商联卡1000元回收价格大揭秘,渠道选对折扣更高 - 淘淘收小程序
  • 企微API外部群主动推送消息:增量同步实战指南
  • 2026年 电子线束厂家推荐排行榜:线束加工/端子连接线/排线线束/新能源储能充电桩线束/工控机器人无人机安防电池照明线束,技术精工与可靠连接方案深度解析 - 品牌企业推荐师(官方)
  • 2026年辽宁pe管材管件厂家权威推荐榜:辽宁pe管材管件/沈阳pvc管材管件/管材管件材料/pe管材管件/ppr管材管件/选择指南 - 优质品牌商家
  • 企微API开发:外部群智能化推送新引擎
  • 2026年评价高的国产造雪机公司推荐:新型造雪机、国产造雪机选择指南 - 优质品牌商家
  • 真心不骗你!AI论文工具 千笔·专业学术智能体 VS 笔捷Ai,研究生专属写作神器!
  • 除了ip138,还有哪些老牌IP查询网站值得了解?
  • 深度学习实战119-AI大模型+Agent重塑医疗行业:智能诊疗助手项目完整代码实战
  • 利用云服务器自带的快照功能
  • 2026冲刺用!AI论文写作软件 千笔AI VS WPS AI,本科生专属神器!
  • 强烈安利10个降AIGC工具,千笔轻松降AI率
  • 【软考每日一练029】深入理解演化模型:螺旋模型的设计源头与核心逻辑
  • 赛奥特射频等离子清洗机的应用 - 品牌推荐大师
  • 内网穿透的应用-搞定 Maven 依赖管理!Nexus 让构件存取不再乱,cpolar让你在哪儿都能管!