尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

第六章-元素绑定

第六章-元素绑定
📅 发布时间:2026/6/20 4:18:27

1、元素简单绑定

  <StackPanel><TextBlock Text="{Binding ElementName=slider, Path=Value}" Margin="10" FontSize="20"></TextBlock><Slider x:Name="slider" Height="20" Width="200" Margin="50" Maximum="100" Minimum="0" VerticalAlignment="Center"></Slider></StackPanel>

 

2、绑定模式

  单向绑定OneWay

  双向绑定:TwoWay

  单次绑定:OneTime(源变化一次后,目标不跟随继续变化)

  OneWayToSource:与OneWay方向相反

 

3、多绑定

 

4、绑定更新

  双向绑定时:文本框消息改变后,源要在文本框失去焦点才能更新

<StackPanel><TextBox Text="{Binding ElementName=slider, Path=Value,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10" FontSize="20"></TextBox><Slider x:Name="slider" Height="20" Width="200" Margin="50" Maximum="100" Minimum="0" VerticalAlignment="Center"></Slider><Button Height="30" Width="50"></Button>
</StackPanel>
 UpdateSourceTrigger:

PropertyChanged:当目标属性发生变化时立即更新源
LostFocus当目标属性发生变化并且目标丢失焦点时更新源
Explicit:除非调用 BindingExpression.UpdateSource()方法,否则无法更新源
Default:根据目标属性的元数据确定更新行为(从技术角度看,是根据FrameworkPropertyMetadataDefaultUpdateSourceTrigger属性决定更新行为)。大多数属性的默认行为是PropertyChanged,但TextBox.Text属性的默认行为是LostFocus

5、绑定延迟

  加入Delay属性即可

 

6、Source属性

  指定绑定的数据对象

 <Window.Resources><FontFamily x:Key="CustomFont">Calibri</FontFamily></Window.Resources><StackPanel><!--指向一些已经准备的静态对象,为设置Binding.Source属性,需要结组静态拓展标记--><TextBlock Text="{Binding Source={x:Static SystemFonts.IconFontFamily},Path=Source}"></TextBlock><!--绑定资源--><TextBlock Text="{Binding Source={StaticResource CustomFont},Path=Source}"></TextBlock></StackPanel>

 

7、RelativeSource属性

  寻找上一级的元素,例如控件样式、数据模板当中常用

 <Grid Background="Wheat"><TextBlock Height="50" Width="90" Background="{Binding Path=Background,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}}}"></TextBlock></Grid>

 

8、DataContext属性

  可以在其父元素及以上元素指定数据对象

  <StackPanel DataContext="{x:Static SystemFonts.IconFontFamily}"><TextBlock Text="{Binding Source}"></TextBlock><TextBlock Text="{Binding LineSpacing}"></TextBlock><TextBlock Text="{Binding FamilyTypefaces[0].Style}"></TextBlock><TextBlock Text="{Binding  FamilyTypefaces[0].Weight}"></TextBlock></StackPanel>

后台代码当中指定数据上下文DataContext

 public partial class 元素绑定 : Window{public 元素绑定(){InitializeComponent();this.DataContext = new Student { Name="张三",Age="17"};}class Student{public string Name {  get; set; }public string Age {  get; set; }}}
 <TextBlock Text="{Binding Name}"></TextBlock><TextBlock Text="{Binding Age}"></TextBlock>

 

相关新闻

  • Labview实现四工位相机同时扫二维码、HTTP协议Mes上传及汇川PLC通讯协议
  • HTML入门
  • Halcon条码技术详解(含 Halcon 应用示例)

最新新闻

  • 2026年可靠的青岛办公工学椅/青岛人体工学椅/工学椅/商务久坐工学椅公司哪家好 - 行业平台推荐
  • 2026年比较好的惠州 LED屏/会议室LED屏厂家对比推荐 - 品牌宣传支持者
  • MC68060处理器信号控制与MMU架构:嵌入式系统稳定性的硬件基石
  • 嵌入式系统性能优化:深入解析ColdFire微控制器Cache与SRAM配置实战
  • 2026年口碑好的苏州卷材 EVA/无味 EVA/EVA优质厂家汇总推荐 - 品牌宣传支持者
  • 龙虾智能体进阶实战:自定义Skill插件开发与多模型适配方案

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号