WPF 控件数据源绑定

ops/2024/9/25 8:35:35/

WPF 控件数据源绑定

  前提:我的数据源都放在 DataProcessView 类中,然后在 MainWindow 中声明该类的对象 DataProcess,如果是指定了 DataContext ,就将该对象赋值给 DataContext (如下),否则不赋值

public partial class MainWindow : Window
{public DataProcessView DataProcess { get; set; }//需要指定为 public 权限public MainWindow(){InitializeComponent();DataProcess = new DataProcessView();this.DataContext = DataProcess;}
}

对于普通属性、

public class DataProcessView : INotifyPropertyChanged
{public event PropertyChangedEventHandler? PropertyChanged;private string _currenttime;public string CurrentTime{get { return _currenttime; }set{if (_currenttime != value){_currenttime = value;PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("CurrentTime"));}}}
}

指定 DataContext 的前提下,为一个 Label 控件 Context 在 xaml 中赋值,如下:

Content="{Binding CurrentTime}"

未指定 DataContext 的前提下,未指定就需要将数据源的路径给写清楚

Content="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=DataProcess.CurrentTime}"

对于类属性

public class DataProcessView : INotifyPropertyChanged
{public event PropertyChangedEventHandler? PropertyChanged;private ButtonModel _btn1text;public ButtonModel Btn1Text{get { return _btn1text; }set{if (_btn1text != value){_btn1text = value;PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Btn1Text"));}}}
}

指定 DataContext 的前提下,为一个 Button 控件 Context 在 xaml 中赋值,如下:

Content="{Binding Path=BtnGuanBiYYText.Text}"

未指定 DataContext 的前提下,未指定就需要将数据源的路径给写清楚

Content="{Binding RelativeSource ={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=DataProcess.Btn1Text.Text}"

对于集合属性

集合属性


http://www.ppmy.cn/ops/115708.html

相关文章

unix中如何查询和修改进程的资源限制

一、前言 一个进程在运行时,会用到各种资源,比如cpu的使用时间、内存空间、文件等等。那么,一个进程能够占用多少资源呢?cpu使用的时间有多长?进程空间有多大?能够创建多少个文件?这个就是本文…

专利管理系统如何高效实现五书转档为XML?

在专利管理领域,五书(申请书、说明书、权利要求书、附图说明、摘要)转档为XML格式是一项至关重要的工作。XML(可扩展标记语言)具有良好的结构性、扩展性和数据交换性。将五书转换为XML格式能够方便专利数据在不同系统之…

梧桐数据库(WuTongDB):向量化查询优化器的一些实现细节

为了更深入探讨向量化查询优化器的实现细节,尤其是在高性能数据库系统中的应用,我们可以进一步分析以下几个核心方面: 向量化的查询计划优化。批处理与内存管理优化。特定操作符的向量化执行(如 JOIN 和 GROUP BY 操作的向量化&a…

分享6个icon在线生成网站,支持AI生成

在这个数字化的时代,创意和视觉标识在产品推广中可谓是愈发重要。提到图标,我们就不能不聊聊“Icon”这个小家伙。它不仅仅是个简单的视觉元素,简直是品牌信息的超级传递者。因此,图标生成器成了设计界的“万金油”,帮…

MongoDB解说

MongoDB 是一个流行的开源 NoSQL 数据库,它使用了一种被称为文档存储的数据库模型。 与传统的关系型数据库管理系统(RDBMS)不同,MongoDB 不使用表格来存储数据,而是使用了一种更为灵活的格式——JSON 样式的文档。 这…

深度学习01:机器学习概念引入

机器学习在唤醒词识别中的应用:从传统编程到数据驱动编程 随着人工智能和机器学习的普及,越来越多的日常任务开始依赖这些技术。语音助手如“Alexa”、“Hey Siri”正是其中的代表性应用,它们可以迅速识别用户的唤醒词,并执行相应…

【区块链通用服务平台及组件】基于向量数据库与 LLM 的智能合约 Copilot

智能合约是自动执行、无需信任的代码,可以在区块链上运行,确保了数据和程序的透明性和不可篡改性。然而, 智能合约的编写、调试和优化仍然是一个具有挑战性的过程,因为它需要高度的技术专长,且发布后的智能合约代码通常…

DVWA 靶场环境搭建

作者:程序那点事儿 日期:2024/09/15 09:30 什么是DVWA: 是OWSASP官方编写的PHP网站,包含了各种网站常见漏洞(漏洞靶场),可以学习攻击及修复方式。 PHP环境包含了,Windows/Apache/Mysql/Php g…