首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用通用附加属性来减少 WPF 元素自定义样式多余代码

三处颜色不同,两处在普通属性设置区,一处在控件模板触发器区,这个后面需要区别对待。 对于普通属性区重复,都不需要用到附加属性,直接一个继承就能解决了。...以 SuccessBox 为例,继承之后如下: 可以看到,继承之后,普通属性设置区与基类样式相同内容已经变灰了(Resharper 功能),可以直接删除。...三、通用附加属性代理类 接下来就是如何解决模板属性(Template)中重复代码问题了。...其实针对这种需求,有另一个做法:创建一个用户控件来继承这个元素,样式设置及最终使用都改为这个用户控件,然后需要新增设置属性就在用户控件后台创建依赖属性。...上一介绍使用通用附加属性只是能够丰富可配置内容,并没有减少样式代码,因为样式中普通属性设置区,通过样式继承已经能够减少冗余了(见第二),现在关键是,如何去除样式中模板设置区重复代码。

1.9K20

C#实现基于Word保护性模板文件修改

目录 制作一个保护性模板文件 给文件设置保护密码 设计模板内容 限制编辑 进一步需求 范例运行环境 Office DCOM 配置 设计实现 进一步修改模板文件 设置和取消保护 遍历WORD内容控件...设计模板内容 比如设计一个审批表,我们可能应用到WORD里内容控件,使用内容控件,需要设置如下图: 选择左侧菜单栏,信息选项,选择自定义功能区,并选择右侧列表里开发工具菜单项。...限制编辑 设计完成模板内容后,我们最后要设置限制编辑设置,即仅允许用户输入文本框中内容,设置如下图所示: 选择开发工具选项、限制编辑按钮,在限制编辑功能里,我们选择: 1、限制对选定样式设置格式...,总体设计思路即遵循以下流程: 1、自定义控件TAG属性,以标识程序控制识别,如TAG1为申请人标识,TAG2为审批人标识 2、在流程节点读取对应标识,备份内容,然后删除控件,以防止再次修改填写内容...3、在删除控件光标位置,恢复原录入内容,以保持文件内容完整性,以备下一点审批 另外,我们还可以操作WORD一些变量来满足应用扩展,示例代码如下: string DocVar_Value =

6710
您找到你想要的搜索结果了吗?
是的
没有找到

Trie树:应用于统计和排序

三个基本特性: 1)根节点不包含字符,除根节点外每一个节点都只包含一个字符。 2)从根节点到某一点,路径上经过字符连接起来,为该节点对应字符串。...如果要查找关键字可以分解成字符序列且不是很长,利用trie树查找速度优于二叉查找树。...举例:        1)有一个1G大小一个文件,里面每一行是一个词,词大小不超过16字,内存限制大小是1M。返回频数最高100个词。        ...-255字。...假设目前有一千万个记录,这些查询串重复读比较高,虽然总数是1千万,但是如果去除重复和,不超过3百万个。一个查询串重复度越高,说明查询它用户越多,也就越热门。

55310

MFC中下拉框ComboBox使用

Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件一个下拉菜单组成。...用户可以从一个预先定义列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。 ...Item 假设在控件列表中已经选定某项,现在要得到被选定内容,首先要得到该项位置,然后得到对应位置内容。...ON_CBN_EDITUPDATE 输入框中内容被更新 补充: 一、如何添加/删除Combo Box内容 1,在Combo Box控件属性Data标签里面添加,一行表示Combo Box下拉列表中一行...))->GetCount();//取得目前已经有的行数 if(iCount<1)//防止重复多次添加 { ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent

6.9K40

个人永久性免费-Excel催化剂功能第58波-批量生成单选复选框

插件最大威力莫过于可以把简单重复事情批量完全,对日常数据采集或打印报表排版过程中,弄个单选、复选框和用户交互,美观同时,也能保证到数据采集准确性,一般来说用原生方式插入单选、复选框,操作繁琐,...使用场景 在制作一些数据采集表单时,如果需要与用户互动,让用户在指定地方来选择相应内容时,用单选、复选框是比较理想作法,在做了单元格链接方式后,可以满足采集数据准确性。...,如选定状态为TRUE,非选定状态为FALSE,后期可采集这些链接单元格内容可识别出用户选择选项是哪个。...控件生成后,有留边情况,单元格行高、列宽稍微要增大一些 不同组单选控件可分离,即每一组仅有一个项目被选定,多个组可以有多个选定项 有链接单元格效果为选定项对应链接单元格为TRUE 控件删除...只需选定删除控件所在范围,点击删除控件即可,若需删除整个工作表所有控件,选择某一单元格,让程序识别出意图是删除所有,而不要选择多于一个单元格。

1.4K20

c++界面开发工具_visual c++界面设计教程

此版本包含新Office 2019样式可视化主题、改进了Shell控件以及其他一些新功能和改进!本文将为大家介绍v30.2中发布新功能!让您对BCG最新发布版本有一个全新认识和了解。...默认情况下,将显示图表轴、数据点、轴刻度中断和数据表单元格工具提示。 Shell管理 1. 内容在应用程序外部更改时,将向该控件通知该控件,并且控件将自动更新。...CBCGPDiagramVisualContainer:新方法’RemoveSelected’删除选定对象和连接器。...CBCGPRibbonCheckBox:解决将控件放置在状态栏上(在某些可视化主题中)时前景色不正确问题。 其他一些小修复 ---- 1024程序员火热开启!致敬改变世界程序猿!...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

2.2K30

Mysql专栏 - redo log日志细节

继续回去写第一个即可。 如果不想使用默认大小如何处理呢,其实调节上述两个参数就可以了,比如每个redo log文件是96MB, 最多保留100个redo log文件等等。...不可重复读并不是严重问题,但是取决于数据库如何设计,因为重复读取一个值发生改变或者不改变要根据数据库设计者来决定。...但是不防其他任何内容 读已提交:不允许脏写和脏读,也是即可防止两个线程同时更新一个值,又可以防止两个值同时读同一个值,也就是一个值肯定读不到另一个未提交事务改动数据情况。...但是可能会多次读到一个值被提交到事务不断改动情况 不可重复读:也就是可以防止脏写、脏读、不可重复读这三个层级在Mysql中体现就是,同一个事务无论读多少次都不会读到已经提交业务。...但是会出现读取到其他事务新增或者删除数据 串行化:完全同步,每次操作都只允许一个线程访问 总结 本节深入了redo log内部细节,并且简单介绍了undo log是如何配合redo log进行回滚操作

82130

MySQL 清除表空间碎片

存储会出现碎片化,每当删除了一行内容,该段空间就会变为空白 当执行插入操作时,MySQL会尝试使用空白空间,但如果某个空白空间一直没有被大小合适数据占用,就形成了碎片 当MySQL扫描表时,扫描对象实际是包含碎片空间...例如 一个表有1万行,每行10字,会占用10万字存储空间 执行删除操作,只留一行,实际内容只剩下10字 但MySQL在读取时,仍看做是10万字表进行处理 所以,碎片越多,就会越来越影响查询性能...查看表碎片大小 01 查看某个表碎片大小 mysql> SHOW TABLE STATUS LIKE '表名'; 结果中'Data_free'列值就是碎片大小 02 列出所有已经产生碎片表...mysql> optimize table 表名 02 InnoDB表 mysql> alter table 表名 engine=InnoDB 建议 清除碎片操作会暂时锁表,数据量越大,耗费时间越长...可以做个脚本,定期在访问低谷时间执行,例如每周三凌晨,检查DATA_FREE字段,大于自己认为警戒值的话,就清理一次

3.3K70

.NET混合开发解决方案16 管理WebView2用户数据

二、如果同一用户重复使用你应用,并且应用 Web 内容依赖于用户数据,则保留用户数据文件夹 在此方案中,请勿显式删除用户数据文件夹 (UDF) ,保留数据。...三、如果多个用户重复使用你应用,则保留用户数据文件夹   如果多个用户重复使用应用,则应为每个新用户创建新用户数据文件夹 (UDF) ,并保存每个用户 UDF。   ...WebView2 控件为每个新用户创建一个 UDF。 WebView2 控件为每个会话创建一个 UDF。 如果有多个 WebView2 会话,WebView2 控件将创建多个 UDF。...五、如果应用没有重复用户,请保留用户数据文件夹 在此方案中,为每个用户创建新用户数据文件夹 (UDF) ,并删除以前 UDF。...例如,应用可以包含两个 WebView2 控件一个用于显示广告,另一个用于显示应用内容。 可以为每个 WebView2 控件使用不同 UDF。

2.1K30

C#学习笔记—— 常用控件说明及其属性、事件

(6)Paste方法:用剪贴板内容替换文本框中的当前选定内容。调用一般格式如下: 文本框对象.Paste()该方法无参数。 (7)Undo 方法:撤销文本框中一个编辑操作。...(8)ClearUndo方法:从该文本框撤销缓冲区中清除关于最近操作信息,根据应用 程序状态,可以使用此方法防止重复执行撤销操作。...如果返回负值,则未找到所搜索文本字符串。还可以使用此方法搜索特定格式文本。 参数RichTextBoxFinds指定如何控件中执行文本搜索,其取值及其含义如表9-4 所示。...),会将选定内容从前一选定项扩展到当前项。...如果对话框包含设置删除线、下划线和文本颜色选项控件,属性值为 true,反之,属性值为false。默认值为true。

9.5K20

DropDownList1 各种属性

DataTextFormatString 获取或设置格式化字符串,该字符串用来控制如何显示绑定到列表控件数据。(从 ListControl 继承。)...获取或设置 DropDownList 控件选定索引。 SelectedItem 获取列表控件中索引最小选定项。(从 ListControl 继承。...如果列表控件只允许一个选项,则使用此属性可获取选定各个属性。如果列表控件允许多个选项,则使用此属性可获取列表控件中索引最小选定属性。...) SelectedValue 获取列表控件选定值,或选择列表控件中包含指定值项。(从 ListControl 继承。)...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

91510

DotNetTextBox控件添加外挂插件功能图文教程。

VS2005打开system_dntb/menuconfig/目录下任何一个config文件,并且在配置内增加一个配置,如图: 其中...plugin_command配置指示控件生成一个外挂插件(脚本命令形式)功能,配置内第一个参数insertbutton是插件功能标识,并且此功能提示信息(tooltip)将根据此标识显示,具体请看之后说明...,另外配置“插入网页按钮”就是将会显示提示内容,同理,我们还需为其它语言文件增加相应配置,如打开system_dntb/en-us/Resources.xml文件,添加: < resource...如果界面语言为zh-cn的话就会显示:插入网页按钮 第三步:制作一个16X16大小透明背景insertbutton.gif图标,然后分别放到system_dntb/skin/xp/img/及system_dntb...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

42420

MySQL 清除表空间碎片

碎片产生原因 (1)表存储会出现碎片化,每当删除了一行内容,该段空间就会变为空白、被留空,而在一段时间内大量删除操作,会使这种留空空间变得比存储列表内容所使用空间更大; (2)当执行插入操作时...,MySQL会尝试使用空白空间,但如果某个空白空间一直没有被大小合适数据占用,仍然无法将其彻底占用,就形成了碎片; (3)当MySQL对数据进行扫描时,它扫描对象实际是列表容量需求上限,也就是数据被写入区域中处于峰值位置部分...; 例如: 一个表有1万行,每行10字,会占用10万字存储空间,执行删除操作,只留一行,实际内容只剩下10字,但MySQL在读取时,仍看做是10万字表进行处理,所以,碎片越多,就会越来越影响查询性能...查看表碎片大小 (1)查看某个表碎片大小 mysql> SHOW TABLE STATUS LIKE '表名'; 结果中’Data_free’列值就是碎片大小 ?...OPTIMIZE 操作会暂时锁住表,而且数据量越大,耗费时间也越长,它毕竟不是简单查询操作.所以把 Optimize 命令放在程序中是不妥当,不管设置命中率多低,当访问量增大时候,整体命中率也会上升

4.1K51

.Net4.0 Web.config 配置实践

Json字符串超出最大长度限制 控件早期版本呈现方式 C# 操作 Web.config 小结 关于 Web.config 当通过.NET 新建一个Web应用程序项目后,默认情况下会在根目录自动创建一个默认...Web.config文件,其是一个XML文本文件,内容包括运行应用默认所有运行基础配置。...Server 2019 DataCenter .net版本: .netFramework4.0 或以上 编辑工具:VS2019 或其它任何文本编辑器 配置实践 请求验证模式兼容旧版本 请求验证模式定义了如何处理客户端请求中输入内容安全性...> 上传文件限制 这是经常用到和遇到一个问题,对于默认配置 maxRequestLength 一般仅允许上传不超过4Mb文件,我们可以通过修改下列配置: <system.web...redirectedfrom=MSDN C# 操作 Web.config appSettings是我们经常自定义变量配置,在此我们分享 C# 一个appSettingsEdit方法,可以动态配置指定变量及值

6310

Vimtutor中文版

---> 现在您应该已经学会如何移动到下一讲吧。 3. 现在请使用下行键,将光标移动到第二讲。 提示∶如果您不敢确定您所按下字母,请按下键回到正常(Normal)模式。...重复步骤2到步骤4,直到句子修正为止。 ---> The ccow jumpedd ovverr thhe mooon. 5. 好了,该行已经修正了,下一内容是第一讲第四。...重复步骤3至步骤4,直至句子修正完毕。接着继续第二讲第二内容。...要重新置入已经删除文本内容,请输入小写字母 p。该操作可以将已删除 文本内容置于光标之后。如果最后一次删除一个整行,那么该行将置 于当前光标所在行下一行。 2....这里 #,# 就是上面 要求您记住行号(顶端行号,底端行号),而 TEST 就是选定文件名。 5. 最后,用 :!dir 确认文件是否正确保存。但是这次先别删除掉。

1.5K50

计算机vb语言程序设计_vb语言程序设计基础

在此基础;上,掌握程序设计3种基础结构,主要内容包括:Visual Basic程序设计;基础、窗体设计、常用控件、菜单设计、图形与多媒体、系统环境资源;应用、文件管理、Visual Basic与数据库等...全书在编写过程中,力求做;到概念准确、内容正确、由浅入深、循序渐进、繁简适当。每章最后都有;思考与练习,通过实例和习题加深对基本概念理解和掌握,提高计算机;操作技能水平。...可视化程序设计基本概念 第三 Visual Basic可视化程序设计基本步骤 小结与提高 思考与练习 第三章 窗体和最基本控件 第一 窗体 第二 命令按钮 第三 文本框控件 第四 标签控件...第十三章 Web VBScript编程技术 第一 DHTML页面设计器 第二 VBScript脚本语言 小结与提高 思考与练习 第十四章 VB编程技术实验 实验1 创建一个简单VB程序 实验2...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

1.1K20

dropdownlist属性

DataTextFormatString 获取或设置格式化字符串,该字符串用来控制如何显示绑定到列表控件数据。(从 ListControl 继承。)...获取或设置 DropDownList 控件选定索引。 SelectedItem 获取列表控件中索引最小选定项。(从 ListControl 继承。...如果列表控件只允许一个选项,则使用此属性可获取选定各个属性。如果列表控件允许多个选项,则使用此属性可获取列表控件中索引最小选定属性。...) SelectedValue 获取列表控件选定值,或选择列表控件中包含指定值项。(从 ListControl 继承。)...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

1.2K10

《Python for Excel》读书笔记连载4:Python开发环境之Jupyter笔记本

在此特别说明,这里发布文章仅仅为学习笔记,略去了书中一些我认为无关紧要文字,或者稍作修改,并且有些地方加上了我自己学习感悟,有兴趣朋友可以对照原书研读。此外,如有侵权,留言告知,我会删除。...Jupyter Notebooks 在上一中,展示了如何从Anaconda提示符启动交互式Python会话。如果你想要一个简陋环境来测试一些简单东西,这非常有用。...图2-3:空Jupyter笔记本 一个好习惯是点击Jupyter徽标旁边Untitled1,将工作簿重命名为更有意义内容,例如first_笔记本。图2-3下半部分显示了一个笔记本单元格。...笔记本单元格 在图2-3中,可以看到一个带有闪烁光标的空单元格。如果光标不闪烁,用鼠标点击单元格,即在[]右侧。...现在重复上一练习:键入3+4并通过单击顶部菜单栏中运行按钮运行单元格,或者更简单地通过按Shift+Enter运行单元格。这将运行在单元格中代码,在单元格下方打印结果并跳转到下一个单元格。

2.6K30
领券