- 博客(21)
- 问答 (1)
- 收藏
- 关注
原创 纯XAML实现WPF窗口标题栏自定义
再把其命名空间引入: xmlns:b="http://schemas.microsoft.com/xaml/behaviors"同时最大化时标题栏显示区域高度减少h单位,使得与WindowChrome定义的CaptionHeight对齐。由于涉及到减法运算,XAML没有加减功能,用Grid自动布局的特性,设计一个运算器.可在最大化时四周增加h单位Margin,使显示内容不超出屏幕。2、自定义的最小化、最大化、关闭按钮功能如何用XAML实现。1、窗口最大化后,窗口边缘超出屏幕。1、窗口标题栏颜色可定义。
2024-04-26 16:35:48
1056
原创 传球概率问题的计算
人教版高中数学B选修三数列复习题C组第1题:简述:甲乙丙丁互传球,甲先传出,每人得到球后等可能传给其余3人,求n次传递后球回到甲的概率P.
2024-04-15 16:58:02
459
1
原创 WPF绑定属性时的输入验证新思路
1、事前验证:限制输入字符,通过PreviewKeyDown事件过滤字符,但无法拦截粘贴内容。2、事中验证:在TextChanged事件里,检查输入后的内容是否合规,不合规则删除新输入的部分。这要保存前值,保存光标位置,判断各种情况,有点复杂。错误格式在ViewModel部分被无差别接收,检验正确,传给Model,检验错误,View端变回原值。如果绑定一个整数属性,输入非整数会反馈错误(比如红框,或自己设计一个别的)。最终想到一个事后验证的解决办法,在数据接收端来验证。
2024-04-10 16:17:16
257
1
原创 高中数学习题答案的一个错误
所以:无论多长时间,5500万的投资都无法按条件收回。至于是否同意企业管理人的提议,既要看是否存在这样傻的投资人,也要看能不能过了道德这个槛,毕竟这个提议像诈骗。现值的计算为:A0=A/[(1+r)^n] ,其中A为A0在r的利率下n年后的数值,即未来值。人教高中数学(B版)选择性必修第三册习题5-4B第5题。我认为这个答案是错误的,没有把银行利率算进去。其中(1+4%)/(1+8%)≈0.96。
2024-04-05 09:21:40
194
1
原创 C# WPF实现撤销(undo)与重做(redo)
假如已经定义了一个命令管理器CommandManager,并定义了一个Add的方法来添加命令。// 执行函数,让后把该函数保存到命令管理器。WPF一般把函数放在每个界面下面,保存执行过的函数,用委托方式更条理与简单。要实现的是保存、管理执行过的命令,包括函数与参数。
2024-03-12 18:45:05
573
1
原创 WPF绑定数据的TreeView删除节点
简单做法,在自定义的Item类中添加一个Parent属性,指向父节点,这样在删除被选中的Item时,可直接删除:item.parent.items.remove(item)。
2024-03-02 09:50:03
239
原创 用Event或Action简单实现WPF页面(窗口)间信号传递
QT的信号、槽机制优雅地实现了数据传递与动作激发,C#没有对应方法。现在用Event将就实现一下。总结:虽不中,不远矣。
2024-03-01 10:50:14
299
1
原创 WPF TreeView实现选中行Expander改变颜色
经过参考,实现了TreeView整行选中变色。但希望选中有下层的节点行时,改变Expander图标颜。经过一番测试,终于找到一个简单办法。在ExpandCollapseToggleStyle中增加一个Trigger。
2024-02-21 09:49:31
397
原创 获取WPF窗口标题栏高度
实测可计算Normal状态标题栏高度,还有类似的调用系统参数的计算方法。此方法本人无法准确理解参数含义,不能放心使用。2、3的结果有时不相等,会有小数级别的差异,个人认为与屏幕缩放有关。我会选择第3种方法,更有确定性。此值是系统标题栏的高度,只在窗口最大化时准确,Normal状态标题栏比这高。此方法为个人编写,如有雷同,纯属巧合。
2024-02-17 15:20:00
576
1
原创 .Net WPF xaml数据绑定与前后端同步更新
2、前端改变后端时,绑定要有{..., UpdateSourceTrigger=PropertyChanged},即触发刷新后端。需要实现一个TreeView与后台数据绑定,总调不成功,又从头学习简单绑定。网上例子很多,但往往举得复杂,消耗无谓的看代码精力。1、后端改变前端时,要实现INotifyPropertyChanged,即通知前端刷新数据。由于要现学现卖,希望尽快掌握用法,但xaml的复杂度超出我的预期,可能会者不难吧。自己做了一个简单的例子,实现前后端数据绑定、同步刷新。
2024-02-13 15:32:43
607
1
原创 XAML设置WPF控件ScrollViewer卷滚条颜色与尺寸
初用C#与WPF,我对XAML的感觉是灵活但复杂。我只想改变ScrollViewer卷滚条的颜色,但模板案例看得我眼花缭乱。啃了一天,去其繁盛,留其必备,终于调出一个方便修改卷滚条各部分,包括ScrollViewer右下角颜色,的资源。使用时,直接修改前面提取出的参数即可。
2024-02-08 16:12:04
802
原创 C# WPF不同窗口或页相互调用与控制。
初用C#,需要控制另一个窗口中的控件。后台c#程序可以直接引用同一个窗口或页下的控件,但有时需要控制其它窗口或页,直接想到的是找到另一个窗口或页的实例,该如何找呢?2、在Class B构造函数中把App的b指向this。1、在Class App中定义一个Class B变量。例如Class A 要引用 Class B。3、A可以引用B了。
2024-02-05 18:45:50
888
1
原创 QProcess start()方法调用外部程序路径带空格的终极解决办法.
比如QProcess *p = new QProcess;p->start("d:\a b\test.exe");因为ab之间有空格, test.exe不会被调用.网上找了些办法, 比如用p->startDetached("d:\a b\test.exe");虽然可以调用test.exe, 但无法用p->state()判断test.exe的进程状态, 比如是否正在运行.最终
2017-12-19 10:41:26
9918
5
原创 关于c++11 右值移动的个人理解.
花了一天时间研究了一下c++11右值移动,理解了后就简单了。当一个右值可移动,且该右值"用完即亡",则执行 x = y 时,y的值被移动到x里, y清空。 可移动的右值其实里面存的是指针,所谓移动是执行的指针值拷贝(浅拷贝),然后回收被拷贝走值的指针。做一个简单的测试,用一个函数返回一个可移动的右值,并赋值于一个左值,看左值的值是否发生了移动或内存地址转移。// 产生一个临时可
2017-11-07 08:57:36
422
原创 数据结构与算法分析(C)习题1.5解答 证明 log x < x
原题: 证明: log x 0看了标准答案的提示, 证明的很巧妙. 为了更直观, 我用归纳法的经典定义来证明一下.即 :证明:0证明:1证明:2假设 2 证明: 2解:1. 当0 (至于为什么log1 在log 0 到 log1 中最大, 因为log x 函数是单调增加的, 即 x>y 时log x > log y, 证明这个显然的单
2017-10-13 19:13:48
963
原创 数据结构与算法分析(C)习题1.4解答.
原题是这样的:1.4 C allows statements of the form#include filenamewhich reads filename and inserts its contents in place of the include statement. Include statements may be nested; in other words, th
2017-10-11 20:06:58
1487
原创 用原生ajax实现对flask传递json数据。
正做一小型web项目,使用Python + flask 作为服务器程序。由于需要在一个页面上实现大量数据输入,输一条、存一条,于是选择了ajax技术。很多文章介绍用Jquery来实现,但个人对框架的态度是在工具简单与代码简单的权衡中,更倾向于工具简单。依赖太多第三方缺乏安全感,何况最终发现少一种工具也很简单。还有一个原因,我不懂jquery,我一看到$这种符号就头疼,不想学。简化代码如下:
2017-09-29 20:34:04
2176
空空如也
c++常量重载函数如何调用?
2017-11-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人