首页 > 其他分享 >WPF Binding 绑定标记扩展

WPF Binding 绑定标记扩展

时间:2024-02-29 17:35:17浏览次数:26  
标签:标记 绑定 Binding 获取 设置 WPF 属性

参考

环境

软件/系统 版本 说明
Windows Windows 10 专业版 22H2 19045.4046
Microsoft Visual Studio Microsoft Visual Studio Community 2022 (64 位) - 17.6.5
Microsoft .Net SDK 8.0.101 手动安装
Microsoft .Net SDK 7.0.306 Microsoft Visual Studio 携带
.net 6.x 创建当前文章演示 WPF 项目时指定 .net 版本所选择的框架

正文

本文仅供自学记录,内容来源自 绑定标记扩展Binding 类

Binding 参数

字段 概况 说明 其他
BindingGroupName 标识可能的绑定组的字符串。
BindsDirectlyToSource 布尔值,可以是 true 或 false。 默认为 false。
Converter 转换器 可以在表达式中设置为 bindProp=value 字符串,但这样做需要值的对象引用,例如 StaticResource 标记扩展。
ConverterParameter 转换器参数 如果传递值的引用类型,则此用法需要对象引用,例如嵌套的 StaticResource 标记扩展。 如果传递值的引用类型,则此用法需要对象引用,例如嵌套的 StaticResource 标记扩展。
ElementName 绑定来源 获取或设置要用作绑定源对象的元素的名称。与 RelativeSource 和 Source 互斥;这些绑定属性中的每一个均表示一种特定的绑定方法。
RelativeSource 绑定来源 通过指定绑定源相对于绑定目标位置的位置来获取或设置绑定源。与 ElementName 和 Source 互斥;这些绑定属性中的每一个均表示一种特定的绑定方法。
Source 绑定来源 获取或设置要用作绑定源的对象。与 ElementName 和 Source 互斥;这些绑定属性中的每一个均表示一种特定的绑定方法。 如:StaticResource、DynamicResource 等。
FallbackValue 绑定响应默认值 获取或设置当绑定无法返回值时要使用的值。如果传递引用类型,则需要对象引用,例如嵌套的 StaticResource 标记扩展。
IsAsync 获取或设置一个值,该值表示 Binding 是否应异步获取和设置值。
Mode 绑定模式 值为 BindingMode 枚举中的常量名称。 Default,OneTime,OneWay,OneWayToSource,TwoWay
NotifyOnSourceUpdated 是否触发事件 获取或设置一个值,该值指示当值从绑定目标传输到绑定源时是否引发 SourceUpdated 事件。
NotifyOnTargetUpdated 是否触发事件 获取或设置一个值,该值指示当值从绑定源传输到绑定目标时是否引发 TargetUpdated 事件。
NotifyOnValidationError 是否触发事件 获取或设置一个值,该值指示是否对绑定对象引发 Error 附加事件。
Path 绑定路径 描述数据对象或通用对象模型的路径的字符串。 该格式提供几种不同的约定来遍历对象模型,这些约定在本主题中无法充分描述。 请参阅 PropertyPath XAML 语法。
StringFormat 格式化字符串 描述绑定数据的字符串格式约定的字符串。 这是一个比较高级的绑定概念;请参阅 StringFormat 的参考页。
TargetNullValue 绑定响应为null默认值 获取或设置当源的值为 null 时在目标中使用的值。
UpdateSourceTrigger 触发更新模式 值为 UpdateSourceTrigger 枚举中的常量名称。获取或设置一个值,它可确定绑定源更新的计时。 LostFocus,PropertyChanged,Explicit,Default
ValidatesOnDataErrors 表单验证处理事件 获取或设置一个值,该值指示是否包含 DataErrorValidationRule。
ValidatesOnExceptions 表单验证处理事件 获取或设置一个值,该值指示是否包含 ExceptionValidationRule。
XPath 获取或设置返回要使用的XML绑定源上的值的XML查询。
UpdateSourceExceptionFilter 获取或设置一个处理程序,可使用该程序提供自定义逻辑,旨在在更新绑定源值期间处理绑定引擎遇到的异常。 这仅适用于你已将 ExceptionValidationRule 与绑定相关联的情况。 无法使用 Binding 标记扩展/{Binding} 表达式格式设置的 Binding 属性。
ValidationRules 获取检查用户输入有效性的规则集合。 无法使用 Binding 标记扩展/{Binding} 表达式格式设置的 Binding 属性。
XmlNamespaceManager 获取或设置用于在XML绑定中执行命名空间感知的XML查询的XmlDataPaceManager。 无法使用 Binding 标记扩展/{Binding} 表达式格式设置的 Binding 属性。

UpdateSourceTrigger Enum

枚举 说明
Default 绑定目标属性的默认UpdateSourceTrigger值。大多数依赖项属性的默认值为PropertyChanged,而Text属性的默认值为LostFocus。
Explicit 仅在调用 UpdateSource 方法时更新绑定源。
LostFocus 每当绑定目标元素失去焦点时更新绑定源。
PropertyChanged 每当绑定目标属性更改时立即更新绑定源。

BindingMode Enum

枚举 说明
Default 使用绑定目标的默认Mode值。每个依赖项属性的默认值各不相同。通常,用户可编辑的控件属性(如文本框和复选框的属性)默认为双向绑定,而大多数其他属性默认为单向绑定。确定依赖项属性在默认情况下是单向绑定还是双向绑定的编程方法是使用GetMetadata(Type)获取属性的属性元数据,然后检查BindsTwoWayByDefault属性的布尔值。
OneTime 在应用程序启动或数据上下文更改时更新绑定目标。如果您使用的数据适合使用当前状态的快照或数据是真正静态的,则这种类型的绑定是合适的。如果要使用源属性中的某个值初始化目标属性,并且事先不知道数据上下文,则这种类型的绑定也很有用。这本质上是一种更简单的单向绑定形式,在源值不变的情况下提供更好的性能。
OneWay 当绑定源(源)更改时更新绑定目标(目标)属性。如果要绑定的控件是隐式只读的,则此类型的绑定是适当的。例如,您可以绑定到一个源,如股票报价机。或者您的目标属性没有提供用于进行更改的控件接口,例如表的数据绑定背景色。如果不需要监视目标属性的更改,则使用OneWay绑定模式可以避免TwoWay绑定模式的开销。
OneWayToSource 当目标属性更改时更新源属性。
TwoWay 使对源属性或目标属性的更改自动更新另一个属性。这种类型的绑定适用于可编辑的表单或其他完全交互式的UI场景。

标签:标记,绑定,Binding,获取,设置,WPF,属性
From: https://www.cnblogs.com/xiaqiuchu/p/18044306

相关文章

  • VS2019 打包WPF安装程序
    说明最近开发了一个WPF的小工具,最初想发布成一个非安装版的可执行程序,发现有点困难,因为是基于.NetFramework4.7开发,还引用了一些其他库,WPF程序的运行是依赖.NetFramework环境的,所以必须提前安装。于是在官网上找到ClickOne的相关说明,可以把WPF打包成安装程序,当安装时会校......
  • WPF性能优化:Visual Studio性能分析工具使用介绍
    在硬件性能不断提升的现在,软件性能依旧是开发人员关注的重点。不同类型的程序关注的具体性能指标有所不同,服务器程序注重吞吐量,游戏引擎追求渲染效率,桌面程序则关注内存消耗以及界面加载效率和流畅性。当我们需要进行性能优化时,首先需要找到性能瓶颈。本文将介绍两个WPF性能优化......
  • WPF性能优化:性能分析工具
    在硬件性能不断提升的现在,软件性能依旧是开发人员关注的重点。不同类型的程序关注的具体性能指标有所不同,服务器程序注重吞吐量,游戏引擎追求渲染效率,桌面程序则关注内存消耗以及界面加载效率和流畅性。当我们需要进行性能优化时,首先需要找到性能瓶颈。本文将介绍两个WPF性能优化分......
  • 假期vue学习笔记08 绑定和解绑
     <template>  <divclass="app">    <h1>{{msg}}</h1>    <!--props子给父传递事件-->    <School:getSchoolName="getSchoolName"/>    <!--通过父组件给子组件绑定一个自定义事件实现:子给父传递数据(第一种写法,使用@过v-......
  • ubuntu串口重命名(串口绑定)
    不同方法在于rules文件的编写。rules文件编写方法一:针对不同转换芯片在未插入和插入USB设备时,分别通过lsusb命令查看所连接的USB设备。可以看出硬件ID为"1b3f:8301"在/etc/udev/rules.d中创建.rules文件,比如我的是my.rules,输入以下内容:KERNEL=="ttyUSB*",ATTRS{idVe......
  • WPF DataGrid交错行颜色
    代码如下<!-- AutoGenerateColumns="False"可以避免出现重复列 --><!-- CanUserAddRows="False"去除最后一行空白行 --><DataGridx:Name="datagrid"AlternationCount="2"AutoGenerateColumns="False"CanUserAddRow......
  • WPF DataGrid下的单元格嵌入CheckBox列表
    <DataGridWidth="auto"Height="auto"AutoGenerateColumns="False"CanUserAddRows="False"GridLinesVisibility="All">        <DataGrid.Columns><DataGridTempla......
  • 记一次WPF集成SemanticKernel+OneAPI+讯飞星火认知大模型实践
    开启OneAPI服务OneAPI介绍OpenAI接口管理&分发系统,支持Azure、AnthropicClaude、GooglePaLM2&Gemini、智谱ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360智脑以及腾讯混元,可用于二次分发管理key,仅单可执行文件,已打包好Docker镜像,一键部署,开箱即用.Ope......
  • Taurus.MVC WebMVC 入门开发教程4:数据列表绑定List<Model>
    前言:在本篇Taurus.MVCWebMVC入门开发教程的第四篇文章中,我们将学习如何实现数据列表的绑定,通过使用List<Model>来展示多个数据项。我们将继续使用Taurus.Mvc命名空间,同时探讨如何在视图中绑定并显示一个Model列表。步骤1:创建Model首先,我们需要更新我们的Model类,......
  • Vue 2x 系列之(十)绑定样式
    绑定样式1.class样式绑定样式: 1.class样式【不变的样式写在class、style中,变化的样式写在:class中,最终的样式为三者的并集】 写法:class="xxx"xxx可以是字符串、对象、数组。 字符串写法适用于:类名不确定,要动态获取。 对象写法适用于:要绑定多个样式,个数......