展开

关键词

采用WPF开发截图程序,so easy!

前言 QQ、微信截图已很强大了,似乎没必要在开发一个截图程序了。但是有时QQ热键就是占用,不快速的开启截屏;有时,天天挂着QQ,领导也不乐意。 既然是程序员,就要自己开发截屏工具,随心所欲,岂不快哉。 再强调一点:工具就是生产力! 没有掌握WPF之前,我是不会开发这么一个程序的,如果采用MFC、winform框架,工作量是相当的大,开发出来的效果肯定也比较low。人用WPF,花了一天多的夫,开发了这个小程序。 程序的定位就简单,平时工作不碍事,用着的时候,一键截图! 为了不影响视觉, 程序主界面非常小。程序会在所有界面最前端展示。 有两个1)“快捷截图”:截图后,立即将截图复制到板。 2)“截图+编辑”:截图后,可以在图上标注箭头和字。 正在截图时,效果: ? 截图后,可编辑: ? 新增保留历史记录,选中历史记录,复制到板。 ? 看似简单,对开发技巧要求很高。

1.2K10

在 Windows 11 中处理 WindowChrome 的圆角

4px 页面内的元素,如或列表等。 0px 与其它直边相交的直边不使用圆角。 也就是说在 Windows 11 上窗体需要应用半径为 8px 的圆角。 2. 过后自定义的 Window 成了一个无边框圆角窗口,看着还挺时髦的。 但这个简单裁也可遇到问题,如果 Window 里的内容正好有个直角的元素,而且这个直角还靠着圆角,就可掉;或者自定义的 Window 使用了无边框的样式,那么这个贴边的边框就会掉一像素 所以,假使现有的 WPF 程序使用了默认主题,或者自定义的主题照微软一向的审美全使用了直角元素,那到了 Windows 11 上就会显得格格不入。 微软的档这样声称,我是一个字都不信的,难道这么多年来 Windows 的直角就让我感觉到威慑和没有安全感了?微软还有比 UWP 更让我没有安全感的东西?

66910
  • 广告
    关闭

    什么是世界上最好的编程语言?丨云托管征文活动

    代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!

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

    WPF快速入门系列(1)——WPF布局概览

    一、引言   关于WPF早在一年前就已经看过《深入浅出WPF》这书,当时看完之后由于没有做笔记,以至于我现在又重新捡起来并记录下学习的过程,系列将是一个WPF快速入门系列,主要介绍WPF中主要的几个不同的特性 三、WPF布局详解   WPF的布局控件都继承于System.Windows.Controls.Panel这个类,主要介绍在Panel基类下的几个常用的布局控件。下图是布局控件的继承关系: ? 下面示例中定义了一系列具有不同对齐方式的,并将这些放在一个WrapPanel面板中。 ? 3.5 DockPanel 布局控件   DockPanel面板定义一个域,在此域中,你可以使子元素通过锚点的形式进行排列。DockPanel类似于WinForm中Dock属性的。 3.8 ScrollViewer 控件   通常用户界面中的内容比计算机屏幕的显示域大的时候,可以利用ScrollViewer控件可以方便地使应用程序中的内容具备滚动

    26520

    UIElement.Clip虽然残废,但它还可以这样玩

    接受矩形的裁域,这已经不是简单,近乎残废了。 如果只简单地出矩形域的话,很多时候都用不着Clip,在XAML中有其它方法可以实现需要的。 ? 在用WPF时我也常常遇到这种问题,但我总是用ScrollViewer解决,ScrollViewer身就有提供Clip的,代码如下: <ScrollViewer Padding="0" 不过UWP有个神奇的,CornerRadius设置为大于0的值就会裁范围外的内容,毕竟有了圆角不裁的话会很难看?所以UWP贴心地帮忙做了这个操作? 上面这个懂的人都懂的中二病红和智障蓝组成的番茄钟就用了Clip,简单地将同一个字复制出来两份,以中间为届分别裁出上半部分和下半部分,再分别向两边做位移的Spring动画,这样就做出开的效果: <

    32820

    WPF 某个界面或控件在界面找不到看不到可的原因

    来告诉大家在 WPF 开发中,发现有某个或某个控件,某个预期的界面,没有在窗口或者没有在界面里面看到或者找到可的原因和调试的方法 不在视觉树 如果控件在界面看不到,首先需要通过视觉树了解控件是否还在视觉树上 一个不存在视觉树的控件,肯定不会在界面中显示 调试某个控件元素是否在 WPF 界面的视觉树上,可以通过 VisualStudio 的实时可视化树进行调试 如果已进入后台断点,可以尝试通过此元素的 Parent 属性,一层层寻找,如果找到顶层的窗口,那么证明显示到窗口里面,否则有一层是空,则证明此元素没有显示在此窗口里面 可见性 如果控件身的 Visibility 属性设置为不可见,那么自然元素就不可见啦 自然第二层控件就看不见 控件所在的容器,如果设置了 Clip 属性或者 ClipToBounds 等属性,容器可以裁元素。 此时可以通过尝试修改容器,干掉所有的裁属性以及后台代码里面设置的裁属性等,看控件是否显示出来,如果,那么就是裁的原因 渲染变换 在 WPF 中,提供了 RenderTransform 属性作为渲染变换

    10410

    .NET Core.NET5.NET6 开源项目汇总11:WPF组件库1

    微软提供的WPF控件的很强大,但是样式不漂亮,需要专业的美工设计样式或皮肤。圈子里总有无私奉献的大牛们分享既漂亮又好用的WPF组件库,下面收集了几款非常优秀的WPF开源组件。 尊重知识产权,共建和谐开源社。 3、 多种形状的交互,如圆形、图标进度、字提示等等,Web中常见的效果WPF中也可以简单地使用。 ? 更多请参考官网与开源项目。 开源     MahApps.Metro的源代码托管在GitHub上,包含了自己构建它所需的一,所以请访问并帮助我们改进它。 展示 ? ?

    32030

    WPF往RichTextBox添加图片及调整行距

    比如在对RichTextBox插入图片,winform时代除了用复制粘贴这种借助贴板的差劲方法之外就是要重写和自定义RichTextBox控件了。这就需要高超的编程力了。 但在WPF里面,只需要加几个代码就搞定了。                                                 <Run Text="<em>文</em>字<em>区</em>域<em>文</em>字<em>区</em>域"></Run>                         当然,这样未必够完全满足要求,因为有时候我们需要在程序运行的时候点击选取图片进行添加。 注:系原创,如要转载请务必注明作者(梦心)及出处(博客地址:http://www.cnblogs.com/mengxin523/),谢谢!

    7310

    WPF Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响

    WPF 里面,默认标题栏的交互相对复杂,如没有设置 WindowChrome.IsHitTestVisibleInChrome 属性为 True 那是拿不到点击事件的。 来告诉大家 Button 的 IsEnabled 属性对 WindowChrome 的 IsHitTestVisibleInChrome 的影响 在 WPF 中的默认交互是点击标题栏的时候,如果是双击标题栏 而如果在标题栏放一个,此时默认是没有收到点击的,详细请看 WPF 非客户的触摸和鼠标点击响应 如果想要让收到点击,需要使用 WPF 非客户的触摸和鼠标点击响应 的方法,让 WPF加上 尽管第一个是覆盖整个窗口大小的,同时设置了 WindowChrome.IsHitTestVisibleInChrome 属性,但是第二个覆盖的地方,双击标题栏会让窗口全屏 因此在 WPF 中, 此时在相同的容器内的其他元素,不会再路由 代码放在github欢迎小伙伴访问 ---- 会经常更新,请阅读原: https://blog.lindexi.com/post/

    41830

    .NET Core - 解决VS2019中.net core WPF暂时无法使用Designer的临时方法

    核心思想还是借壳~ 目前.net core下的WPF项目中的XAML可视化设计器(Designer)尚不可用,后续的Visual Studio 2019 Update才会支持该部分的。 可以使用Visual Studio来处理链接件(Link files)的,并将其XAML Designer用于Classic Framework (即.net Framework的WPF项目)。 打开命令行/Powershell 使用cd命令,换到自己平时存vs项目的路径(比如我换到D:\Coding) 输入命令dotnet new wpf -n "CoreHiWPF" ? 需修改MainWindow.xaml和相应的.cs 接下来,我在MainWindow.xaml的Grid中加入了两行,一行放的是一个含有可换行的Label,另一行是Exit。 然后在Exit上加入了Click事件,在Window上加入了Loaded事件。 ? 代码改完之后,F5运行,最后的界面如下: ? 项目代码已推到github,欢迎Fork和star.

    53320

    WPF自学入门(三)WPF路由事件之内置路由事件

    既然WPF中使用这样的一个设计理念,路由事件就是特别为WPF而生,它的就是可以把一个事件从触发点沿着树向上或者向下传播,需要对这个事件作出反应的地方就添加一个监听器,就会有相应的反应,当然,它的传递是可以用代码来停止 下面先来了解一下WPF内置的路由事件和原理,然后我们来创建一个属于自己的路由事件。 1、WPF内置的路由事件 新建WPF项目,在页面上放置。 调试运行,鼠标右键点击,会依次弹出下列三个对话框。 ButtonMouseDown事件触发: ? GridMouseDown事件触发: ? WindowMouseDown事件触发: ? 我点击的是,为什么Grid和Window也会引发事件呢? 看到了这个顺序别,那么我们加入e.Handled=true的时机也要不同 PS:人也是WPF的初学者,如有不对的地方,欢迎在评论多多指教,学习,为了分享,为了提高。

    97020

    WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWPChrome)

    将使用 WindowChrome 来自定义窗口样式,使其既保留原生窗口样式和交互习惯,又够具备一定的自定义空间。 窗口标题栏交互 标题栏上有右键菜单,如果自己模拟,基上这个就要自己重新实现了。 窗口的位置和尺寸 你需要自己实现一套窗口的拖拽调整位置,需要自己实现一套拖拽调整大小的。 ▲ 样式已经遮挡 不止是样式遮挡,我们应该注意相比于原生还有这些不同: 我们的边框是白色的,原生的边框是系统主题色 鼠标划入我们窗口内才开始拖拽改变大小,但原生的在阴影域就开始调整大小了 ? 标题栏上的三大金刚 我们发现,在以上所有方法尝试完成后,还剩下右上角的三颗的背景色无法定制。如果依然采用非客户控件覆盖的方法,这三个就会遮挡,只自己模拟了,那是不小的工作量。 关于自绘标题栏以模拟 UWP 原生,可以阅读我的另一篇章(代码太长,还是分开了好):WPF 应用完全模拟 UWP 的标题栏

    2.7K20

    WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)

    这里为了简单,我初始化一个 UWP 的。 但必须得为 UWP 的进行一些初始化,所以我监听了 ChangedChanged 事件: <XamlHost:WindowsXamlHost Grid.Column="1" InitialTypeName 窗口放在一起的 于是,只指定一个矩形域完全属于 UWP,在这个WPF 控件无法与其获得交互或渲染叠加 关于 DPI 适配 为了让 UWP 控件够在 WPF 窗口中获得正确的 Per-Monitor 而如果只是指定为 PerMonitor,那么换 DPI 或者换屏幕的时候,只有 WPF 部分会缩放,而 UWP 部分不会变化。 ? 欢迎转载、使用、重新发布,但务必保留章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于修改后的作品务必以相同的许可发布

    71120

    C# WPF MVVM项目实战(进阶②)

    这篇章还是在之前用Caliburn.Micro搭建好的框架上继续做的开发,今天主要是增加了一个用户窗体ImageProcessView,然后通过Treeview换选择项之后在界面显示不同效果的图片 StartViewModel继承了Caliburn.Micro.Screen,Caliburn.Micro.Screen实现了INotifyPropertyChanged,所以StartViewModel这个类身是拥有属性变更通知界面的的 Collapsed与Hidden别:Hidden仅仅是属性设为不可视,但是属性在画面上依然占有空间。 图片会照设置的Width和Height显示,比例会失调 UniformToFill:保持原始宽高比进行缩放,以填充。如果两者的宽高比不同,源会掉多余的部分。 /s/1uP1Lw96Br1csLaF4B7ZKpw 提取码: 右下角点击再看或者转发,超过20个以后我会在留言公布!

    21320

    dotnet 从入门到放弃的 500 篇章合集

    C# 字符串首字符大写 C# 局部函数与事件 C# 枚举转字符串 C# 相对路径转绝对路径 C# 解析 sln 件 C# 谁改了我的代码 C# 通配符转正则 C#判断件属于或二进制 C#判断件是否混淆 异步转同步 win10 uwp 打开件管理器选择件 win10 uwp 拖动控件 win10 uwp 下等待 win10 uwp 改变鼠标 win10 uwp 显示SVG win10 UWP win10 uwp 获取鼠标左键下 win10 uwp 获取件夹出错 win10 uwp 获得元素绝对坐标 win10 uwp 获得缩略图 win10 uwp 萤火虫效果 win10 uwp win10-uwp-入门 win10-uwp-兴趣线 win10-uwp-换主题 win10-uwp-列表模板选择器 win10-uwp-初始屏幕 win10-uwp-判断地ip win10-uwp 控件 WPF 修改下的颜色 WPF 写系统日志 WPF 判断调用方法堆栈 wpf 单例 WPF 只允许打开一个实例 WPF 可获得焦点属性 WPF 在 Alt+Tab 隐藏窗口 WPF 好看的矢量图标

    68620

    网页上的复制与

    你可以决定哪些复制到版。之后我们会详细阐述。 一个简单的例子 让我们来增加一个,点击这个会拷贝一个email地址到用户的版。 如果你想检查拷贝是否成,那么你可以checkdocument.execCommand();的返回值。如果返回false那么表示不支持拷贝或者不使用(没有选中)。 命令可以在框中使用。你可以移除输入框中的字并放到版中使用。 :前者检测浏览器是否支持或拷贝,后者检测是否有选中的用于或拷贝。 这导致了你不在浏览器不支持时禁用。 在devtools中调用 queryCommandSupported() 一定会返回false。 目前命令只在你用js选中时起作用。

    40320

    VisualStudio 外部工具配合 dotnet tool 制作复制件名工具

    我在 VisualStudio 中,为了方便沟通,我需要复制当前件的件名,不包含地的路径,但是我没有找到一个好的复制方式,每次都是复制完全的路径,然后再删除部分的。 实现在 VisualStudio 中下某个快捷键即可复制当前打开的件的件名到贴板的 在 VisualStudio 中有一个很好用的是外部命令,外部命令可以使用命令行的方式调用其他的进程, 而且传入参数可以有很多预设置的选项,通过预设置选项配合其他进程就可以实现很多复杂的。 此时就可以在某个件标签通过快捷键下 ctrl+shift+c 复制件名,当然,大家也可以自己设置自己想要的快捷键 使用 dotnet tool 工具的优势在于方便分发和更新,配合 VisualStudio AssemblyName> <RootNamespace>$(AssemblyName)</RootNamespace> <Description>命令行传入的内容都会复制到贴板

    16230

    WPF入门到放弃(七)| 常用布局控件的用法

    (五)| 串口的读取与写入(程序&附串口调试精灵) WPF入门到放弃(六)| 画面优化与发布(附源程序) 说明: 主要介绍WPF(Windows Presentation Foundation), 同时清空次数据为下次数据做准备。 提示: 章附源程序下载地址的获取, 请关注“剑指工控“微信公众号后, 添加管理员, 加入剑指工控微信群后获取。 将刚才的StackPanel直接换成Canvas,则显示最后一个,因为Canvas的子控件是覆盖的,通过设置Opacity="0"或者Visibility="Hidden"可以将第二个、第三个隐藏 DockPanel:定义一个域 从中可以相对位置水平或垂直排列各个子元素。 通过设置LastChildFill来禁用自动填充剩余的空间 WrapPanel:从左到右的顺序位置定位子元素 在包含框的边缘处将内容换到下一行。

    9520

    (一)开源C# WPF控件库《MaterialDesignInXAML》强力推荐

    时间如流水,只流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform、WPF、ASP.NET Core等,亦有C++桌面相关的Qt Quick和Qt 主要介绍第三方C# WPF开源控件库:MaterialDesignInXAML ,该库有多优秀、多漂亮,你可以点击链接下载查看,也可以看我下面截的比较有特色、比较实用的部分截图。 导航目录: 首页 支持主题风格 输入验证框 标签 卡片 图标 分组框 进度条 对话框 抽屉 简单提示 1、首页 从首页卡片布局就觉得很爽有没有? 主题配色 3、 界面开发中,交互式用的比较多了,看下图,圆形、图标进度、字提示等等,Web中常见的效果WPF中也可以简单使用了。 ?

    1.1K10

    C#学习笔记系列之HelloWorld入门001

    背景介绍 在我的工作中需要对C#的一些问题进行攻克,所以我需要学习C#,在此我也分享我的笔记,一方面记录知识点,另一方面也可以丰富社档。 C#主要有三种应用,分别是console,wpf,windows form,针对这三种应用,我逐个的去攻克,然后做一些简单的应用,在这一系列的章里,我分别介绍这三种应用。 创建Windows窗体应用程序 [建立窗体应用程序] 点击确定后,建立成,如下图 [660m7iaadv.png] 在工具箱种搜索TextBox [添加框] 添加,并设置的名字 [添加 ] 加入如下代码,点击,则输出Hello world。 创建WPF应用程序 [创建WPF应用] 点击确定后,生成如下项目 [WPF项目应用] 小结 在这篇章,我简单介绍了创建三种应用的helloworld程序,可以把十种应用程序都建立一个Helloworld

    23930

    WPF入门到放弃(三)| 制作串口调试助手

    一是因为我相信技术总是需要不断的总结与练习才有所进步,二是希望帮助初学者对WPF有个初步的了解,大家一起探讨学习进步。 WPF入门到放弃(一) | 安装与创建 WPF入门到放弃(二) | 初识XAML 说明: 主要介绍WPF(Windows Presentation Foundation),是微软推出的一项基于windows 下面对1行0列再设置一个三行,分别放置搜索串口,打开串口,发送数据三个。 Button表示 Windows 控件 下面是三个设置比较简单,属性设置前面都有用到。 TextBox 框可用于显示或编辑无格式,是WPF最基础的输入控件,允许终端用户编写,可以是一行字,也可以是多行。 点击运行,一个串口调试助手的界面就完成了。 好了这期就结束了,后面主要介绍如何实现,以及下拉列表,串口接收数据,发送数据。 就这么简单!下周见!

    14730

    相关产品

    • 云服务器

      云服务器

      云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。 腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券