当前位置: 首页 > news >正文

WPF 触发器 Trigger

触发器 Trigger

触发器(Trigger)是 WPF 中的一种机制:
当某个条件满足时,自动改变控件的某些属性,比如颜色、大小、透明度等。

换句话说,就是"如果……那么就……" 的一种规则。

常见触发器类型:

类型说明
Trigger依赖属性变化时触发
DataTrigger绑定的数据变化时触发
EventTrigger事件发生时触发
MultiTrigger多个条件同时满足时触发
MultiDataTrigger多个数据条件同时满足时触发


1. Trigger —— 属性值触发(最基础)

例如,当按钮被鼠标悬停(IsMouseOver = true)时,改变背景色:

<Button Content="鼠标悬停变色"><Button.Style><Style TargetType="Button"><Style.Triggers><Trigger Property="IsMouseOver" Value="True"> <!--Is... 触发条件--><Setter Property="Background" Value="LightGreen"/><Setter Property="Foreground" Value="DarkBlue"/></Trigger></Style.Triggers></Style></Button.Style>
</Button>

✅ 效果:鼠标悬停到按钮上时,按钮背景变绿、文字变蓝。

相关属性:

属性 / 子元素类型说明
PropertyDependencyProperty触发器监听的属性(比如 IsMouseOver
ValueobjectProperty 的值等于这个 Value 时触发
Setters集合(Setter满足条件后要应用的一组属性修改(比如改颜色、改大小)
EnterActions集合(TriggerAction当进入触发状态时执行的动作(比如动画)
ExitActions集合(TriggerAction当离开触发状态时执行的动作

常用条件:

属性触发器(PropertyTrigger)常用条件:

属性名说明
IsMouseOver鼠标悬停在控件上时为 True
IsPressed按钮等控件被按下时为 True
IsEnabled控件是否启用(禁用时为 False
IsFocused控件是否获得焦点(获取为 True)
IsChecked复选框(CheckBox)、单选按钮(RadioButton)是否选中
IsSelected列表项(ListBoxItem、TabItem等)是否被选中
Visibility控件是否可见(Visible / Hidden / Collapsed)
IsReadOnly文本框(TextBox)是否只读
OrientationStackPanel等控件的方向(Horizontal / Vertical)


2. DataTrigger —— 数据变化触发

当绑定的数据满足某条件时,触发样式改变。

例子:如果按钮绑定的某个值是 "危险",就变成红色。

<Button Content="按钮" Tag="危险"><Button.Style><Style TargetType="Button"><Style.Triggers><DataTrigger Binding="{Binding Tag, RelativeSource={RelativeSource Self}}" Value="危险"><Setter Property="Background" Value="Red"/></DataTrigger></Style.Triggers></Style></Button.Style>
</Button>

Tag 属性是 “危险” 时,按钮背景变红。

常用条件

DataTrigger 用于根据绑定到的数据(DataContext)变化触发,比如:

绑定属性说明
自定义属性值比如某个 ViewModel 中的 Status == "完成"
布尔型标志比如 IsLoading == true
数值型、字符串型比较比如 Level > 5(需要结合 Converter 实现)


3. EventTrigger —— 事件发生时触发动作(一般配合动画)

例子:当按钮加载完毕(Loaded 事件),让按钮慢慢变大:

<Button Content="加载放大按钮"><Button.Triggers><EventTrigger RoutedEvent="Button.Loaded"><BeginStoryboard> <!--动画--><Storyboard><DoubleAnimation Storyboard.TargetProperty="Width"From="100" To="200" Duration="0:0:2"/></Storyboard></BeginStoryboard></EventTrigger></Button.Triggers>
</Button>

✅ 效果:按钮出现后,2秒内宽度从100变到200。

主要属性

属性 / 子元素类型说明
RoutedEventRoutedEvent 类型要监听的事件(比如 Button.ClickEvent
SourceNamestring(可选)指定事件来源控件的名字(通常用于模板中)
Actions集合(TriggerAction事件触发时要执行的动作,通常是开始动画(BeginStoryboard
  1. RoutedEvent:必填!指定要监听哪个路由事件。
<!--当按钮被点击时触发。-->
<EventTrigger RoutedEvent="Button.Click">
  1. SourceName:(可选)指定事件来源控件的名字

    • 如果要监听的事件是来自模板中另一个控件,需要指定它的 x:Name

    • 通常用在 ControlTemplateDataTemplate 内。

<!--监听名为 `InnerBorder` 的元素的鼠标进入事件。-->
<EventTrigger RoutedEvent="MouseEnter" SourceName="InnerBorder">
  1. Actions:当事件发生时执行的动作。
    • BeginStoryboard:开始一个动画
    • StopStoryboard:停止一个动画
    • PauseStoryboard:暂停动画
    • ResumeStoryboard:恢复动画
<!--当事件触发时,执行透明度变化动画。-->
<BeginStoryboard><Storyboard><DoubleAnimation Storyboard.TargetProperty="Opacity" To="0.5" Duration="0:0:0.3"/></Storyboard>
</BeginStoryboard>


4. MultiTrigger —— 多属性同时满足触发

例子:按钮被禁用(IsEnabled = False)且鼠标悬停时,背景变灰:

<Button Content="多条件触发按钮" IsEnabled="False"><Button.Style><Style TargetType="Button"><Style.Triggers><MultiTrigger><MultiTrigger.Conditions><Condition Property="IsMouseOver" Value="True"/><Condition Property="IsEnabled" Value="False"/></MultiTrigger.Conditions><Setter Property="Background" Value="Gray"/></MultiTrigger></Style.Triggers></Style></Button.Style>
</Button>

✅ 效果:按钮同时满足两种状态,才改变样式。

相关属性

属性/子元素类型说明
Conditions集合(Condition定义多个条件,必须全部同时满足才触发
Setters集合(Setter满足条件后要改变的属性
EnterActions(可选)集合(TriggerAction进入触发状态时执行的动作(如动画)
ExitActions(可选)集合(TriggerAction离开触发状态时执行的动作
使用小技巧说明
尽量用 Style 包裹触发器让界面更整洁、好维护
配合 ControlTemplate自定义控件外观时,触发器更强大
Storyboard 让触发更有动效比如渐变色、放大缩小动画

相关文章:

WPF 触发器 Trigger

触发器 Trigger 触发器&#xff08;Trigger&#xff09;是 WPF 中的一种机制&#xff1a; 当某个条件满足时&#xff0c;自动改变控件的某些属性&#xff0c;比如颜色、大小、透明度等。 换句话说&#xff0c;就是"如果……那么就……" 的一种规则。 常见触发器类…...

CentOS算法部署

CentOS服务部署 第一章 启动两个算法服务第一步&#xff1a;上传算法文件第二步&#xff1a;安装 tmux第三步&#xff1a;启动服务&#xff08;1&#xff09; 启动第一个算法服务&#xff08;2&#xff09; 启动第二个算法服务 第四步&#xff1a;关闭防火墙 第一章 启动两个算…...

极狐GitLab 命名空间的类型有哪些?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 命名空间 命名空间在极狐GitLab 中组织项目。因为每一个命名空间都是单独的&#xff0c;您可以在多个命名空间中使用相同的项…...

使用 Apache POI 生成包含文本和图片的 Word 文档

一、概述 在实际开发场景中&#xff0c;我们经常需要自动生成包含文本和图片的 Word 文档。本示例借助 Apache POI 库&#xff0c;实现了向 Word 文档中插入文本和图片的功能。代码会循环插入多次文本和同一张图片&#xff0c;并且对图片进行等比缩放处理&#xff0c;以保证图片…...

Eclipse通过Tomcat启动web项目报错

错误内容&#xff1a;Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext。 本来运行的好好的&#xff0c;执行了Maven->Update Porject后就报上面的错。 通过检查发现&#xff0c;执行上面的命令后会将下面截图中的maven depen…...

5.7线性动态规划1

P2285 [HNOI2004] 打鼹鼠 #include<bits/stdc.h> using namespace std; struct node{int x, y, t; }a[100010]; int dp[100010]; void solve(){int n, m; cin >> n >> m;for(int i 1; i < m; i){cin >> a[i].t >> a[i].x >> a[i].y;}…...

Word如何制作三线表格

1.需求 将像这样的表格整理成论文中需要的三线表格。 2.直观流程 选中表格 --> 表格属性中的边框与底纹B --> 在设置中选择无&#xff08;重置表格&#xff09;–> 确定 --> 选择第一行&#xff08;其实是将第一行看成独立表格了&#xff0c;为了设置中线&…...

【Mybatis-plus常用语法】

MyBatis-Plus 是 MyBatis 的增强工具&#xff0c;提供了很多便捷的功能来简化开发。以下是一些 MyBatis-Plus 的常见语法&#xff1a; 实体类注解&#xff1a;使用 TableName 注解来指定实体类和数据库表的映射关系。 TableName("user") public class User {privat…...

16.Excel:数据收集

一 使用在线协作工具 简道云。 excel的在线表格协作在国内无法使用&#xff0c;而数据采集最需要在线协作。 二 使用 excel 1.制作表格 在使用excel进行数据采集的时候&#xff0c;会制作表头给填写人&#xff0c;最好还制作一个示例。 1.输入提示 当点击某个单元格的时候&am…...

基于Django框架开发的企业级IT资产管理系统

CMDB 资产管理系统 资产管理系统是一个基于Django框架开发的企业级IT资产管理平台&#xff0c;专注于数据中心和IT设备的全生命周期管理。该系统提供了完整的资产管理功能&#xff0c;包括设备管理、数据中心管理、用户权限管理等核心功能。 项目截图 技术栈 后端 Python 3…...

Redis 集群版本升级指南:从 Redis 7 升级到 Redis 8

Redis 集群升级主要有两种方案&#xff1a; 1、在线滚动升级&#xff08;无需停机&#xff09; 2、停机升级&#xff08;需停止服务&#xff09; 一、准备工作 1. 下载 Redis 8 安装包 # Redis 8.0.0 示例&#xff08;请替换为实际版本&#xff09; http://download.redis.io…...

使用 Couchbase Analytics Service 的典型步骤

下面是使用 Couchbase Analytics Service 的典型步骤&#xff0c;包括部署、配置、创建数据集、运行查询以及监控优化等环节。 首先&#xff0c;您需要安装并启用 Analytics 服务&#xff1b;然后将节点加入集群并重平衡&#xff1b;接着在 Analytics 中映射数据服务的集合&am…...

C++ stl中的vector的相关用法 迭代器失效问题

文章目录 vector的介绍及使用vector的定义 vector的空间相关问题vector的迭代器的使用vector的增删查改vector迭代器失效问题 vector的介绍及使用 1、vector是用于表示可变大小数组的序列容器。 2、vector就像数组一样&#xff0c;采用的是连续的空间来存储元素&#xff0c;也…...

【Redis】哨兵机制和集群

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【中间件】企业级中间件剖析 一、哨兵机制 Redis的主从复制模式下&#xff0c;一旦主节点由于故障不能提供服务&#xff0c;需要人工的进行主从切换&#xff0c;同时需要大量的客户端需要被通知切换到…...

uni-app 引入vconsole web端正常,安卓端报错 Cannot read property ‘sendBeacon‘ of undefined

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property sendBeacon of undefined vconsole 只支持 web 端&#xff0c;…...

数据管道的解耦艺术:Dagster I/O管理器实现存储与逻辑分离

在现代数据工程中&#xff0c;高效管理数据的读写逻辑是构建可维护管道的关键。Dagster的**I/O管理器&#xff08;I/O Managers&#xff09;**通过分离数据处理与数据存储逻辑&#xff0c;显著提升了代码的可复用性和灵活性。本文将深入解析其核心概念、应用场景及实战示例。 一…...

shell脚本--2

1、实时监控cpu、内存的shell脚本 #!/bin/bash# 获取当前时间 DATE$(date "%Y-%m-%d %H:%M:%S")# 获取CPU使用情况 CPU_USAGE$(top -b -n1 | grep "Cpu(s)" | awk {print $2 $4})# 获取内存使用情况 MEMORY_USAGE$(free | grep Mem | awk {print $3/$2 *…...

jenkins配置多nexus仓库多maven版本

jenkins多环境多nexus仓库&#xff0c;多maven版本 使用优化&#xff0c;jenkins多环境多nexus仓库&#xff0c;多maven版本 1、多settings.xml设置构建 背景&#xff1a;jenkins本地安装一个maven版本&#xff0c;默认只有一个settings.xml文件指定本地和远端nexus仓库&#x…...

Linux理解文件fd

先来段代码回顾C文件接口 myfile.c写文件 #include <stdio.h>int main() {FILE *fp fopen("log.txt","a");if(NULL fp){perror("fopen");return 1;}fprintf(fp,"helloWorld,%d,%s,%lf\n",10,"lsf",3.14);fclose(fp)…...

【Python】os模块

os 模块是 Python 标准库中用于与操作系统交互的核心模块&#xff0c;提供了许多操作文件和目 录的函数。 1. 基本介绍 os 模块提供了以下主要功能&#xff1a; 文件和目录操作路径操作进程管理环境变量访问 import os2. 常用功能分类 2.1 文件和目录操作 函数/方法描述o…...

2025 Mac常用软件安装配置

1、homebrew 2、jdk 使用brew安装jdk&#xff1a; 配置环境变量&#xff1a; 3、maven 使用brew安装maven&#xff1a; 配置环境变量&#xff1a; 4、光标平滑移动 5、鼠标滚轮调整 mos 6、常用的终端工具 tabby 7、软件卸载 腾讯柠檬&#xff1a;https://lemon.qq.com/ 8、…...

PyQt5 实现自定义滑块,效果还不错

最近,黄老师闲来无事,需要做一个 播放器的滑块,但是Qt官方的长这个样子,不太好看 于是我自己写了一个,效果还不错,请看下面的效果图: 功能可以点击,可以拖拽改变进度,和播放器的进度条一样 源码如下: 需要的自取 import sys from PyQt5.QtWidgets import QApplicat…...

如何在ENVI Classic 和 ENVI中进行波段合成

示例使用Landsat的三个波段进行合成为示例&#xff0c;合成后展示为假彩色。 对应关系为&#xff1a; Red -- b4&#xff08;近红外 near-infrared&#xff09;NIR Green -- b3 &#xff08;红光 Red&#xff09; Blue -- b2 &#xff08;绿光 Green&#xff09; 一、ENVI…...

协方差与皮尔逊相关系数:从定义到应用的全面解析

目录 一、协方差与皮尔逊相关系数的定义1.1 协方差&#xff08;Covariance&#xff09;1.2 皮尔逊相关系数&#xff08;Pearson Correlation Coefficient&#xff09; 二、协方差的定义与推导逻辑2.1 核心目标&#xff1a;衡量变量的“协同变化”2.2 数学表达的直观性2.3 从线性…...

ICML 2025录取率公布,spotlight posters仅占2.6%

近日&#xff0c;ICML 2025公布了论文录用结果。本次大会共收到 12,107篇有效论文投稿&#xff0c;比去年增加了28%&#xff0c;今年录取论文3,260篇&#xff0c;录取率为 26.9%。其中仅有313篇被列为“焦点海报”&#xff08;即所有投稿中排名前2.6%的论文&#xff09;&#x…...

kotlin一个函数返回多个值

一、主要实现方式 1. Pair/Triple 元组 用途&#xff1a;临时快速返回 2 或 3 个简单值&#xff0c;适用于简单场景语法&#xff1a; fun getStatus(): Pair<Int, String> {return Pair(200, "Success") // 等价于 200 to "Success" }// 解构接收 …...

Clojure 学习笔记

Clojure哲学 1.又一种Lisp&#xff1f; 优美、灵活、代码即数据。 实现一门程序设计语言&#xff0c;代码同数据一般对待&#xff0c;这需要语言本身具有非常强的可塑性。当语言就是以这种本质的数据结构表现时&#xff0c;语言本身就可以操作自己的结构和行为了。 2.函数式编…...

5.7 react 路由

react 状态管理库 14:20 react 路由&#xff08;补充&#xff09; 数据路由 路由hooks 路由跳转 &#xff08;方法 标签/内置方法&#xff09; 获取路由地址栏信息 动态路由实现&#xff08;多角色权限路由&#xff09; redux redux-toolkit 状态管理 antd 组件使用 1.…...

8. HTML 表单基础

表单是网页开发中与用户交互的核心组件&#xff0c;用于收集、验证和提交用户输入的数据。本文将基于提供的代码素材&#xff0c;系统讲解 HTML 表单的核心概念、常用控件及最佳实践。 一、表单的基本结构 一个完整的 HTML 表单由以下部分组成&#xff1a; <form action&q…...

遥感数据处理、机器学习建模与空间预测的全流程指南——涵盖R语言(随机森林、XGBoost、SVM等)、特征提取、模型优化及生态学案例分析

随机森林是一种强大的集成学习方法&#xff0c;特别适用于复杂的遥感数据分析。它通过构建多棵决策树并引入随机性&#xff0c;有效降低模型的方差和过拟合风险。在训练过程中&#xff0c;随机森林利用Bootstrap抽样生成多样化的训练集&#xff0c;并在节点分裂时随机选择特征子…...

Android 数据持久化之数据库存储 Room 框架

一、简介 Room 是 Google 推出的 Android 持久层框架&#xff0c;建立在 SQLite 之上&#xff0c;提供了一个抽象层&#xff0c;简化了数据库操作。它通过注解和编译时检查来确保数据操作的正确性。 Room 主要由以下三个组件组成&#xff1a; Entity&#xff08;实体&#x…...

空间数据分析新趋势:AI 与 ArcGIS Pro 的协同创新

技术点目录 AI&#xff08;DeepSeek、ChatGPT&#xff09;大模型介绍及应用AI&#xff08;DeepSeek、ChatGPT&#xff09;支持下空间数据处理及分析功能基础AI&#xff08;DeepSeek、ChatGPT&#xff09;支持下空间数据选择及读取AI&#xff08;DeepSeek、ChatGPT&#xff09;支…...

Oracle OCP认证考试考点详解083系列10

题记&#xff1a; 本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 46. 第46题&#xff1a; 题目 解析及答案&#xff1a; 查看以下配置&#xff1a; CDB1 和 CDB2 是两个容器数据库。 PDB1 是 CDB1 中的一…...

【linux常用指令】du命令

今天收到通知需要将服务器上的容量大的文件移动到大容量数据盘中。 du -sh */ | sort -h如果你想按大小排序显示文件夹&#xff0c;可以结合 sort 命令。这会按大小从小到大排序显示文件夹。如果想按大小从大到小排序&#xff0c;可以加上 -r 选项。 du -sh */ | sort -h -r...

统一返回JsonResult踩坑

定义了一个统一返回类&#xff0c;但是没有给Data 导致没有get/set方法&#xff0c;请求一直报错 public class JsonResult<T> {private int code;private String message;private T data;public JsonResult() {}public JsonResult(int code, String message, T data) {…...

MCP Client适配DeepSeek

本文是通过MCP官方的client例子进行修改&#xff0c;适配DeepSeek API. MCP client 先解析一下什么是MCP client。 MCP Client 是 Model Context Protocol&#xff08;模型上下文协议&#xff09;架构中的客户端组件&#xff0c;主要负责与 MCP 服务器建立和管理连接。它是一…...

物业设备管理的“多系统协同”模式:ERP、IoT与工单系统如何联动?

在智慧物业快速发展的今天&#xff0c;设备管理已从“被动维修”转向“主动预防”&#xff0c;但许多企业仍面临系统割裂、数据孤岛的困境。ERP系统记录设备台账却难实时监控&#xff0c;IoT设备采集数据却无法联动响应&#xff0c;工单系统处理流程却依赖人工流转——这些痛点…...

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】6.4 时间序列分析(窗口函数处理时间数据)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 PostgreSQL时间序列分析&#xff1a;窗口函数处理时间数据实战一、时间序列分析核心场景与窗口函数优势1.1 业务场景需求1.2 窗口函数核心优势 二、窗口函数基础&#xff1a…...

数据可视化:艺术与科学的交汇点,如何让数据“开口说话”?

数据可视化&#xff1a;艺术与科学的交汇点&#xff0c;如何让数据“开口说话”&#xff1f; 数据可视化&#xff0c;是科技与艺术的结合&#xff0c;是让冰冷的数字变得生动有趣的桥梁。它既是科学——讲究准确性、逻辑性、数据处理的严谨性&#xff1b;又是艺术——强调美感…...

​IP 风险画像如何实现对恶意 IP 的有效拦截?

IP 风险画像作为一种强大的技术手段&#xff0c;在识别和拦截恶意 IP 方面发挥着至关重要的作用。 IP风险画像技术简介 IP 风险画像技术通过收集和分析 IP 地址的多维度信息&#xff0c;为每个 IP 构建详细的风险评估模型。 这些维度包括但不限于 IP 的地理位置、历史访问行…...

B树如何用于磁盘 ,B+树为如何用于数据库

B树 M阶B树&#xff1a;每个节点最多M个子节点&#xff0c;每个节点最多存M-1个Key-Value值&#xff0c;key以升序排序。 构建五阶B树。 那么value是干什么的呢。 先让我们介绍一下cpu 内存 磁盘的关系 我们知道了页的概念。B树用于磁盘的读取。Key是对文件进行编号&#xff…...

image-classifier开源程序Elixir是使用电脑学习对图像进行分类并从中提取数据或描述其内容,非常不错的图片整理工具

​一、软件介绍 文末提供程序和源码下载 Elixir 机器学习功能构建一个应用程序&#xff0c;该应用程序执行图像字幕和语义搜索&#xff0c;以使用您的语音查找上传的图像&#xff01; 二、为什么做这个程序 在构建我们的应用程序时&#xff0c;我们认为 images 这是一种必不…...

HarmonyOS 鸿蒙操作物联网设备蓝牙模块、扫描蓝牙、连接蓝牙和蓝牙通信

01【HarmonyOS 蓝牙】 物联网无线传输方案、HarmonyOS蓝牙数据通信之前的准备工作 02【HarmonyOS 蓝牙】配置蓝牙权限 检测 打开 关闭蓝牙 扫描蓝牙 显示蓝牙设备 03【HarmonyOS 蓝牙】连接蓝牙 发现服务 获取特征值 读取信息 写入信息 和蓝牙模块交互 04【物联网 Wifi模块…...

STM32开发GPIO

1、什么是GPIO General Purpose lnput Output&#xff0c;即通用输入输出端口&#xff0c;简称GPIO 作用:负责采集外部器件的信息或者控制外部器件工作&#xff0c;即输入输出 2、GPIO特点 1&#xff0c;不同芯片型号&#xff0c;IO口数量可能不一样&#xff0c;可通过选型…...

【机器学习】Logistic 回归

Logistic 回归虽然名字中带有“回归”&#xff0c;但它实际上是一种广泛应用于 二分类问题 的线性分类算法。 Logistic 回归的核心任务是预测一个样本属于正类的概率&#xff0c;而概率必须在 [ 0 , 1 ] 范围内。 Logistic回归 通过将输入特征的线性组合映射到概率空间&…...

ClimateCatcher专用CDS配置教程

文章目录 API获取官网账号注册CDSAPI本地化配置 API获取官网 首先需要访问CDS官方网站&#xff0c;点我蓝色字直接到官网how-to-api点我蓝色字直接到官网 目前API的网页是这样的 账号注册 如果有账号的小伙伴可以直接登录自己的账号并跳转到CDSAPI本地化配置&#xff0c;如…...

拆解 Prompt 工程:五大场景驱动 DeepSeek 超越 ChatGPT

同样的模型、不一样的答案&#xff0c;差距往往发生在一行 Prompt 里。本文围绕五大高频实战场景&#xff0c;给出可直接复制的 DeepSeek 提问框架&#xff0c;并穿插《DeepSeek 行业应用大全》中 64 个行业模板精华&#xff0c;帮助读者迅速跑赢 ChatGPT。&#x1f31f; 剧透…...

【解决方案】CloudFront VPC Origins 实践流程深入解析 —— 安全高效架构的实战之道

目录 引言一、VPC Origins 的核心价值&#xff08;一&#xff09;安全性提升&#xff08;二&#xff09;运维效率优化&#xff08;三&#xff09;成本节约&#xff08;四&#xff09;全球分发能力的保留 二、VPC Origins 的架构解析&#xff08;一&#xff09;流量路径设计&…...

软考 系统架构设计师系列知识点 —— 黑盒测试与白盒测试(2)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点 —— 黑盒测试与白盒测试&#xff08;1&#xff09; 本文内容参考&#xff1a; 黑盒测试和白盒测试详解-CSDN博客 软件测试中的各种覆盖&#xff08;Coverage&#xff09;详解-CSDN博客 特此致谢&#xff01; 二、白…...

【背包dp----01背包】例题三------(标准的01背包+变种01背包1【恰好装满背包体积 产生的 最大价值】)

【模板】01背包 题目链接 题目描述 : 输入描述: 输出描述: 示例1 输入 3 5 2 10 4 5 1 4输出 14 9说明 装第一个和第三个物品时总价值最大&#xff0c;但是装第二个和第三个物品可以使得背包恰好装满且总价值最大。 示例2 输入 3 8 12 6 11 8 6 8输出 8 0说明 装第三个物…...