数据绑定(四)使用DataContext作为Binding的Source

简介: 原文:数据绑定(四)使用DataContext作为Binding的Source DataContext属性被定义在FrameworkElement类里,这个类是WPF控件的基类,这意味着所有WPF控件都具备这个属性,...
原文: 数据绑定(四)使用DataContext作为Binding的Source

DataContext属性被定义在FrameworkElement类里,这个类是WPF控件的基类,这意味着所有WPF控件都具备这个属性,当一个Binding只知道自己的Path而不知道自己的Source时,它会沿着UI元素树一路向输的根部找过去,没路过一个节点,就看看这个节点的DataContext有没有指定的Path,如果有,就把这个对象作为自己的Source,看看例子,首先定义一个类

    class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }

XAML如下:

    <StackPanel>
        <StackPanel.DataContext>
            <local:Student Id="10001" Name="daijun" Age="20" />
        </StackPanel.DataContext>
        <TextBlock Background="LightBlue" Text="{Binding Path=Id}"></TextBlock>
        <TextBlock Background="LightBlue" Text="{Binding Path=Name}"></TextBlock>
        <TextBlock Background="LightBlue" Text="{Binding Path=Age}"></TextBlock>
    </StackPanel>

运行效果如下:


实际上DataContext对象是一个依赖属性,依赖属性有个重要特点就是当没有为控件的某个依赖属性显示赋值时,控件会把自己容器的属性值当作自己的属性值,所以实际上,属性值是沿着UI元素树向下传递了

目录
相关文章
|
6月前
|
人工智能 安全 机器人
2026年阿里云部署OpenClaw(Clawdbot)一键接入飞书保姆级教程
2026年,AI自动化工具与协同办公平台的深度融合成为效率升级的核心趋势,OpenClaw(前身为Clawdbot、Moltbot)作为阿里云生态下轻量化、高适配的AI自动化代理工具,凭借“零编程基础、全场景适配、高扩展性”的优势,成为个人与企业构建专属AI助手的首选;而飞书作为高效协同办公平台,广泛应用于各类团队的日常沟通、任务管理与文档协作。将OpenClaw部署在阿里云,并一键接入飞书,可实现“飞书端直接下达指令、OpenClaw自动执行任务、结果实时反馈”的闭环,无需频繁切换平台,让AI助手真正融入协同办公流程,大幅减少重复手工劳动,提升团队协作与个人办公效率。
2637 1
|
10月前
|
JSON 数据安全/隐私保护 开发者
1688 item_search 接口对接全攻略:从入门到精通
本文详解1688开放平台item_search接口对接全流程,涵盖接口功能、参数说明、OAuth2.0授权、签名生成、Python代码实现及优化技巧,助力开发者高效完成B2B商品搜索集成,适用于采购系统、选品分析等场景。
|
机器学习/深度学习 自然语言处理 监控
ms-swift 部分命令行参数说明
本资源介绍了机器学习训练中的关键参数设置及其影响,包括训练轮数、批量大小、学习率、梯度累积、模型微调等,并提供了针对不同任务和硬件配置的推荐值,帮助提升模型训练效率与性能。
1645 4
|
人工智能 自然语言处理 安全
Milvus x n8n :自动化拆解Github文档,零代码构建领域知识智能问答
本文介绍了在构建特定技术领域问答机器人时面临的四大挑战:知识滞后性、信息幻觉、领域术语理解不足和知识库维护成本高。通过结合Milvus向量数据库和n8n低代码平台,提出了一种高效的解决方案。该方案利用Milvus的高性能向量检索和n8n的工作流编排能力,构建了一个可自动更新、精准回答技术问题的智能问答系统,并介绍了部署过程中的可观测性和安全性实现方法。
1377 0
|
存储 安全 数据安全/隐私保护
HFS-快速创建HTTP服务器
鉴于HFS的操作简便和方便快捷,它在满足快速,临时的文件分享和传输需求上,能够发挥出巨大的作用。只要明确了以上的安全警告,并做好了必需的安全设置,HFS将是一款实用的HTTP服务器工具。
1711 9
|
SQL 关系型数据库 数据库连接
详解 Entity Framework(EF)核心组件与数据访问方法探索
Entity Framework是一个ORM框架,简化.NET开发者与数据库的交互。它始于.NET Framework的一部分,但现在可通过NuGet独立获取。ORM允许对象模型直接映射到数据库结构,避免直接编写SQL。
2801 2
详解 Entity Framework(EF)核心组件与数据访问方法探索
|
Web App开发 API 图形学
QtWebEngine性能问题
QtWebEngine性能问题
1245 1
|
Web App开发 Windows
FFmpeg开发笔记(十五)详解MediaMTX的推拉流
MediaMTX是开源轻量级流媒体服务器,提供RTSP, RTMP, HLS, WebRTC和SRT服务。启动后,它在不同端口监听。通过FFmpeg的推拉流测试,证明了MediaMTX成功实现HLS流媒体转发,但HLS播放兼容性问题可能因缺少音频流导致。推流地址为rtsp://127.0.0.1:8554/stream,RTMP地址为rtmp://127.0.0.1:1935/stream,HLS播放地址为http://127.0.0.1:8888/stream(Chrome)和http://127.0.0.1:8888/stream/index.m3u8(其他播放器可能不支持)。
3915 2
FFmpeg开发笔记(十五)详解MediaMTX的推拉流
|
机器学习/深度学习 搜索推荐 算法
高并发推荐系统架构设计-1 基本介绍
【5月更文挑战第5天】推荐系统是信息过滤工具,通过处理物料数据和行为日志,运用预处理、特征工程、算法模型学习用户兴趣,实现个性化推荐。在线架构包括AB分流、多路召回、模型排序和业务规则重排序。旧版线上架构由C++编写的API和engine服务组成,HTTP请求经SLB、Nginx、FastCGI到达服务程序,召回和排序服务处理推荐。存在并发瓶颈问题。
718 1