news 2026/4/18 12:03:41

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/4/18 3:47:42

从一场千人共赴的准业主家宴,看这家房企前置化社区运营底气!

2026年2月2日&#xff0c;西安&#xff0c;寒冬未褪。有一家房企&#xff0c;却做了一件很“超前”的事&#xff0c;温暖了人心。 还未开盘&#xff0c;就把准业主们聚到了一起&#xff0c;举办了一场五星级规格的千人家宴。当别人都在抢营销热度时&#xff0c;这家房企已经开…

作者头像 李华
网站建设 2026/4/18 3:51:14

基于SVM的分类预测,SVM训练难点解析

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例&#xff0c;基于SVM的分类预测 代码 结果分析 展望 摘要 基于SVM的分类预测&#xff0c;SVM原理&#xff0c;SVM工具箱详解&#xff0c;SVM常见改进方法 支持向量机…

作者头像 李华
网站建设 2026/4/17 13:52:50

2026年EOR名义雇主服务TOP3品牌推荐,助力企业轻松解决用工问题

在2026年&#xff0c;EOR名义雇主服务逐渐成为企业解决用工问题的重要选择。这类服务主要帮助企业应对复杂的劳动法规&#xff0c;降低用工风险。万领钧Knit、Deel迪尔和BIPO必博等品牌在行业内获得了极高的评价&#xff0c;不仅提供合规性保障&#xff0c;还简化了薪资处理和考…

作者头像 李华
网站建设 2026/4/17 20:32:01

Canva借助1Password保障高速增长期的身份安全

2019年5月&#xff0c;图形设计平台Canva遭遇重大网络安全事件&#xff0c;黑客Gnosticplayers入侵其数据库&#xff0c;窃取了超过1亿用户的个人数据&#xff0c;包括用户名、电子邮件地址和经过bcrypt加密的密码。在这次事件之后&#xff0c;这家总部位于澳大利亚悉尼的公司对…

作者头像 李华
网站建设 2026/4/17 18:08:19

谷歌LiteRT框架新增高级硬件加速能力

谷歌从TensorFlow Lite演进而来的现代化端侧推理框架LiteRT&#xff0c;引入了基于下一代GPU引擎ML Drift的高级加速能力。这一里程碑在1月28日宣布&#xff0c;巩固了LiteRT作为通用端侧框架的地位&#xff0c;并代表着相对前身TFLite的重大飞跃。谷歌表示&#xff0c;LiteRT提…

作者头像 李华
网站建设 2026/4/18 4:31:16

Thinkphp和Laravel框架的果蔬销售平台

目录 ThinkPHP 与 Laravel 框架的果蔬销售平台摘要功能模块技术实现差异性能与扩展性安全与维护适用场景 开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; ThinkPHP 与 Laravel 框架的果蔬销售平台摘要 功能模块 果蔬销售平台…

作者头像 李华