WPF自定义控件的应用(DynamicResource的使用方法)

1 DynamicResource的使用方法
可以在字典文件 的抬头区写入数:

 <SolidColorBrush x:Key="PrimaryBackgroundColor" Color="#FFABAdB3"/><SolidColorBrush x:Key="TextBox.MouseOver.Border" Color="#FF7EB4EA"/><SolidColorBrush x:Key="TextSecundaryColor" Color="#FF569DE5"/>

设定好颜色:
则引用时直接使用:

 BorderBrush="{DynamicResource PrimaryBackgroundColor}"

另一种方式 引用 fontFamily 的方式与此相似

  <FontFamily x:Key="HgFont">../../CommonInMy/Fonts/#iconfont</FontFamily>

当然这个只是写在
节点下,如果想整个项目都用这个链接方法就是直接写在 app.xaml 下;
在这里插入图片描述
引用方式 FontFamily="{ DynamicResource HgFont}"
2 自定义控件(数据增减下拉操作)
2.1 控件本身类

public class UInputNumberTextBox : Control{ static UInputNumberTextBox(){DefaultStyleKeyProperty.OverrideMetadata(typeof(UInputNumberTextBox), new FrameworkPropertyMetadata(typeof(UInputNumberTextBox)));}private Button btnSubtract;private Button btnAdd;public int Text{get { return (int)GetValue(TextProperty); }set { SetValue(TextProperty, value); }}// Using a DependencyProperty as the backing store for Text.  This enables animation, styling, binding, etc...public static readonly DependencyProperty TextProperty =DependencyProperty.Register("Text", typeof(int), typeof(UInputNumberTextBox), new PropertyMetadata(0));public override void OnApplyTemplate(){base.OnApplyTemplate();btnSubtract = GetTemplateChild("btnSubtract") as Button;if (btnSubtract != null){btnSubtract.Click += BtnSubtract_Click;}btnAdd = GetTemplateChild("btnAdd") as Button;if (btnAdd != null){btnAdd.Click += BtnAdd_Click;}}private void BtnAdd_Click(object sender, RoutedEventArgs e){UInputNumberTextBox inputText = this as UInputNumberTextBox;inputText.Text += 1;}private void BtnSubtract_Click(object sender, RoutedEventArgs e){UInputNumberTextBox inputText = this as UInputNumberTextBox;inputText.Text -= 1;}}

2.2 样式操作:

<SolidColorBrush x:Key="PrimaryBackgroundColor" Color="#FFCFD6E5"/><!--定义颜色--><SolidColorBrush x:Key="TextBox.MouseOver.Border" Color="#FF7EB4EA"/><SolidColorBrush x:Key="TextSecundaryColor" Color="#FF4E85BD"/><!--<FontFamily x:Key="TextSecundaryColor" fa="#FF569DE5"/>--><Style x:Key="ControNumberTB" TargetType="ControlSet:UInputNumberTextBox"><Setter Property="Background" Value="{DynamicResource PrimaryBackgroundColor}" /><Setter Property="SnapsToDevicePixels" Value="True" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="ControlSet:UInputNumberTextBox"><BorderWidth="{TemplateBinding Width}"Height="{TemplateBinding Height}"BorderBrush="{DynamicResource PrimaryBackgroundColor}"BorderThickness="1"><StackPanel Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Orientation="Horizontal" ><Grid Width="{TemplateBinding Width}"><Grid.ColumnDefinitions><ColumnDefinition Width="*" /><ColumnDefinition Width="2*" /><ColumnDefinition Width="*" /></Grid.ColumnDefinitions><Buttonx:Name="btnSubtract"Grid.Column="0"Width="{TemplateBinding Height}"Height="{TemplateBinding Height}"HorizontalAlignment="Left"VerticalAlignment="Center"Background="{DynamicResource PrimaryBackgroundColor}"BorderThickness="0,0,0,0"Content="&#xf068;"Cursor="Hand"FocusVisualStyle="{x:Null}"FontFamily="{DynamicResource  HgFont}"Foreground="{DynamicResource TextSecundaryColor}" /><!--减号--><TextBoxGrid.Column="1"HorizontalAlignment="Center"VerticalAlignment="Center"Background="Transparent"BorderThickness="0"FocusVisualStyle="{x:Null}"FontSize="{TemplateBinding FontSize}"Foreground="{TemplateBinding Foreground}"Text="{Binding Text, RelativeSource={RelativeSource AncestorType=ControlSet:UInputNumberTextBox}, Mode=TwoWay}" /><Buttonx:Name="btnAdd"Grid.Column="2"Width="{TemplateBinding Height}"Height="{TemplateBinding Height}"HorizontalAlignment="Right"VerticalAlignment="Center"Background="{DynamicResource PrimaryBackgroundColor}"BorderThickness="0,0,0,0"Content="&#xf067;"Cursor="Hand"FocusVisualStyle="{x:Null}"FontFamily="{ DynamicResource  HgFont}"Foreground="{DynamicResource TextSecundaryColor}" /> <!--加号--></Grid></StackPanel></Border></ControlTemplate></Setter.Value></Setter></Style> 

3.引用在界面XAML中。
引用地址:
xmlns:自定义 = ”clr-namespace:地址

 xmlns:ControlSet="clr-namespace:海王牌位系统.CommonInMy.Controls"

引用

  <ResourceDictionary Source="../../CommonInMy/Styles/UInputNumberTextBoxStyle.xaml"/>

界面定义,本关键字 加名称

 <ControlSet:UInputNumberTextBox  Grid.Row="6" Grid.Column="1" Width="200"  Height="30"  Margin="0,0,0,10"  FontSize="16"  Style="{DynamicResource ControNumberTB }"  Text="1" />

本单元参考了
https://blog.csdn.net/hisxiwu/article/details/129886874

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/395935.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器CPU天梯图2024年8月,含EYPC/至强及E3/E5

原文地址&#xff08;高清无水印原图/持续更新/含榜单出处链接&#xff09;&#xff1a; >>>服务器CPU天梯图<<< 本文提供的服务器CPU天梯图数据均采集自各大专业网站&#xff0c;榜单图片末尾会标准其来源&#xff08;挂太多链接有概率会被ban&#xff0c;…

datawind可视化查询-along表达式计算占比表达式

常见表达式 表计算表达式仅能作为指标应用along的维度必须存在于查询面板中&#xff0c;否则报错 例如计算埋点的占比 停止充电时长分箱 case when [个人].[停止充电时长(小时)] >12 then (12,13] when [个人].[停止充电时长(小时)] >11 then (11,12] when [个人].[停止…

ARM 汇编语言基础

目录 汇编指令代码框架 汇编指令语法格式 数据处理指令 数据搬移指令 mov 示例 立即数的本质 立即数的特点 立即数的使用 算术运算指令 指令格式 add 普通的加法指令 adc 带进位的加法指令 跳转指令 Load/Store指令 状态寄存器指令 基础概念 C 语言与汇编指令的关…

Acrel-1000DP分布式光伏监控系统在光伏并网系统的实际应用分析-安科瑞 蒋静

摘要&#xff1a;为实现“双碳目标”即中国明确提出的2030年“碳达峰”与2060年“碳中和”目标。推动节能减排、实现经济可持续发展&#xff0c;我国采取了一系列方案和行动。其中就包括能源绿色低碳转型行动&#xff1a;大力发展新能源&#xff0c;‌推动煤电节能降碳&#xf…

让对话AI帮助你做程序架构设计,以及解决你的疑问

我想问下对话AI,本文采取的是chatgpt免费版 我问&#xff1a; 你说程序的设计&#xff0c;前后端分离的BS架构。比如工人基础档案1000条记录&#xff0c;工程项目基础档案10条记录&#xff0c;其他相关这两个基础档案的具体功能&#xff0c;比如打卡记录&#xff0c;宿舍记录&…

Java-super关键字

目录 1.super关键字 基本介绍 基本语法 案例演示 2.super使用细节 细节1 细节2 细节3 super和this的比较 1.super关键字 基本介绍 super代表父类的引用&#xff0c;用于访问父类的属性&#xff0c;方法&#xff0c;构造器。 基本语法 不能用super去访问父类的pri…

多模态大模型intern-vl 1.5 论文解读:How Far Are We to GPT-4V?

论文&#xff1a;https://arxiv.org/pdf/2404.16821 目录 1 介绍 3.1 整体架构 3.2 强大的视觉编码器 InternViT-6B-448px-V1.2 InternViT-6B-448px-V1.5 3.3 动态高分辨率 动态宽高比匹配 图像分割与缩略图 InternVL 1.5&#xff0c;这是一款开源的多模态大语言模型&…

SQL Zoo 9-.Window functions

以下数据均来自SQL Zoo 1.Show the lastName, party and votes for the constituency S14000024 in 2017.&#xff08;显示2017年选区“S14000024”的姓氏、政党和选票&#xff09; SELECT lastName, party, votesFROM geWHERE constituency S14000024 AND yr 2017 ORDER BY…

Spring Boot - 通过ServletRequestHandledEvent事件实现接口请求的性能监控

文章目录 概述1. ServletRequestHandledEvent事件2. 实现步骤3. 优缺点分析4. 测试与验证小结其他方案1. 自定义拦截器2. 性能监控平台3. 使用Spring Boot Actuator4. APM工具 概述 在Spring框架中&#xff0c;监控接口请求的性能可以通过ServletRequestHandledEvent事件实现。…

c语言11天笔记

函数的概述 函数&#xff1a;实现一定功能的&#xff0c;独立的代码模块。我们的函数一定是先定义&#xff0c;后使用。 使用函数的优势&#xff1a; 1. 我们可以通过函数提供功能给别人使用。当然我们也可以使用别人提供的函数&#xff0c;减少代码量。 2. 借助函数可以减…

基于单片机的智能风扇设计

摘 要: 传统风扇无法根据周围环境的温度变化进行风速的调整&#xff0c;必须人为地干预才能达到需求 。 本文基于单片机的智能风扇主要解决以往风扇存在的问题&#xff0c;其有两种工作模式: 手动操作模式和自动运行模式&#xff0c;人们可以根据需要进行模式选择。 在自动运行…

Leetcode每日刷题之面试题01.01.判断字符是否唯一

在学习编程语言的过程中相信大部分同学刚开始接触的循环语句都是 for 循环&#xff0c;今天我将介绍一个比较简洁的循环语句&#xff0c;可以帮助我们减少些许的代码量&#xff0c;也更加快捷&#xff0c;那就是范围 for 在我之前的博文中也有所介绍 详情点击&#xff1a;面向对…

五段式S型算法笔记

设定已知&#xff1a;v0 vmax j&#xff1b; 减加速段&#xff1a;tm到tmax 加加速段&#xff1a;0到tm tm&#xff1a;中点时间 vm&#xff1a;中点速度 vmax&#xff1a;最大速度&#xff1b; j加速度的斜率 -j相反加速度的斜率 这个图首先说明&#xff…

C 语言文件操作详解

目录 引言 一、基本概念 1.什么是文件 2.文件的属性 3.为什么使用文件 4.二进制文件和文本文件 二、文件的打开和关闭 1.流和标准流 2.文件指针 3.文件的打开和关闭 三、⽂件的顺序读写 1.顺序读写函数 2.详细介绍 1.fgetc 2.fputc 3.fgets 4.fputs 5.fscan…

OpenTiny HUICharts 正式开源发布,一个简单、易上手的图表组件库

引言 大家好&#xff01; 我们非常高兴地跟大家宣布&#xff0c;今天正式发布我们的新产品——OpenTiny HUICharts。这是一款前端 Web 可视化图表库&#xff0c;其基础图表功能构建于 ECharts 之上&#xff0c;而高阶图表则采用了新的底层技术&#xff0c;以满足更广泛的数据…

AI 手机的技术展望

某某领导问到我&#xff0c;AI手机这个产业发展如何&#xff1f;对于&#xff0c;地方科技园区&#xff0c;应该如何发展相关产业&#xff1f;我一时还真说不上来&#xff0c;于是&#xff0c;查了一下资料&#xff0c;大概应对了一下。 一&#xff1a;AI手机的定义 首先&…

python管理mysql

[rootserver1 ~]# pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple //这是设置清华镜像站&#xff0c;提高下载安装速度&#xff0c;如果报错提示找不到config&#xff0c;这是因为版本低&#xff0c;临时使用清华镜像站来升级 pip&…

Python PDF文本处理技巧 - 查找和高亮文字

目录 使用工具 Python在PDF中查找和高亮文字并统计出现次数和页码 Python在PDF的特定页面区域中查找和高亮文字 Python使用正则表达式在PDF中查找和高亮文字 Python在PDF中查找文字并获取它的坐标位置 其他查找条件设置 在日常工作和学习中&#xff0c;我们常常需要处理各…

SAP MM学习笔记 - 豆知识05 - Customer Exit 实例,MM01上定义Customer Exit 来Check评估Class

上一章讲了一些MM模块的豆知识。 - MM01中设定的安全在库和最小安全在库 - MM01/MMSC/Customize自动 扩张物料的保管场所 - MM01中定义生产订单的默认入库保管场所 - VA01受注票中设定禁止贩卖某个物料 SAP MM学习笔记 - 豆知识03 - 安全在库和最小安全在库&#xff0c;扩…

linux文件——深度学习文件fd、文件系统调用

前言&#xff1a;从本片开始正式进入linux文件的学习&#xff0c;本片内容主要是文件的fd。 本篇内容博主将要先带友友回忆C语言中的文件操作接口&#xff0c;然后再过渡到操作系统中的系统调用的学习&#xff0c;最后理解操作系统中的文件操作。 ps&#xff1a;本节内容设计一…