WPF 控件数据源绑定

devtools/2024/9/24 15:43:22/

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/devtools/116566.html

相关文章

Fyne ( go跨平台GUI )中文文档-绘图和动画(三)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2 这是一个系列文章: Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne ( go跨平台GUI…

2017年国赛高教杯数学建模C题颜色与物质浓度辨识解题全过程文档及程序

2017年国赛高教杯数学建模 C题 颜色与物质浓度辨识 比色法是目前常用的一种检测物质浓度的方法,即把待测物质制备成溶液后滴在特定的白色试纸表面,等其充分反应以后获得一张有颜色的试纸,再把该颜色试纸与一个标准比色卡进行对比&#xff0c…

vue.js 展示树状结构数据,动态生成 HTML 内容

展示树状结构数据: 从 jsonData 读取树状结构的 JSON 数据,将其解析并生成 HTML 列表来展示。树状结构数据根据 id 和 label 属性组织,节点可以包含子节点 children。 展示评级信息: 从预定义的表单字段 form 中读取 arRateFlag 和…

Excel导入时,一个简单的匹配中文外键的方法

Excel导入时,外健往往只能用中文导入,在代码中,尝试用中文去匹配外建的id然后绑到要导入的数据中,这样一个,外健中文就必须和表里面的一模一样,但在实际中,导入的名称与表里存的名称总有少量字不…

使用CUBE_MX使用I2C通信,实现对EEPROM的读写

一、使用CUBE_MX配置 1.配置I2C 2.配置USART1 3.重中之重(在KEIL5打开串口使用的库) 二、KEIL5配置 #include "main.h" #include "i2c.h" #include "gpio.h" #include "usart.h"#include <stdio.h>void SystemClock_Config(vo…

html实现好看的多种风格手风琴折叠菜单效果合集(附源码)

文章目录 1.设计来源1.1 风格1 -图文结合手风琴1.2 风格2 - 纯图片手风琴1.3 风格3 - 导航手风琴1.4 风格4 - 双图手风琴1.5 风格5 - 综合手风琴1.6 风格6 - 简描手风琴1.7 风格7 - 功能手风琴1.8 风格8 - 全屏手风琴1.9 风格9 - 全屏灵活手风琴 2.效果和源码2.1 动态效果2.2 源…

Elasticsearch在大数据处理中的优势

Elasticsearch 在大数据处理中的优势主要体现在以下几个方面&#xff1a; 1. 分布式架构 水平扩展&#xff1a;Elasticsearch 设计为分布式系统&#xff0c;可以轻松地通过增加节点来水平扩展&#xff0c;处理 PB 级别的数据。数据分片和复制&#xff1a;数据自动分片并跨多个…

我们一般使用的家庭宽带支持udp吗

大多数家庭宽带服务通常支持UDP协议&#xff0c;因为UDP是互联网协议套件中的一个重要部分&#xff0c;广泛应用于视频会议、在线游戏、实时语音通话等实时应用中。以下是一些常见情况&#xff1a; 1. 家庭宽带服务 大部分ISP&#xff08;互联网服务提供商&#xff09;&#…