暂无个人介绍
窗口间跨进程通信 1. 发送方 1 public const int WM_InsertChart_Completed = 0x00AA; 2 3 //查找窗口 4 [DllImport("User32.
1. 判断窗口是否存在 1 private bool IsWindowExist(IntPtr handle) 2 { 3 return (!(GetWindow(new HandleRef(this, handle), 4) != IntPtr.
WPF中,有些控件会多次触发Unload,有点莫名其妙~ Unload的多次触发 TabControl的内容,我是这么设置的: 在TabItem的CacheSettingView中,监听Loaded/Unloaded事件。
如何获取当前系统用户对文件/文件夹的操作权限? 1.获取安全信息DirectorySecurity DirectorySecurity fileAcl = Directory.GetAccessControl(folder); 通过Directory.
文本框显示 文本框正常显示: 文本框超出区域显示: 实现方案 判断文本框是否超出区域 请见《TextBlock IsTextTrimmed 判断文本是否超出》 设置文本布局显示 1.
列表内容属性 如上图,是一个列表标题排序控件,我们需要定义一个标题列表,从而让调用方可以自由的设置标题信息。 在自定义控件时,会遇到列表依赖属性,那么该如何定义呢? 下面是错误的定义方式: 1 /// 2 /// 标识 的依赖项属性。
有道云官方文档 有道云翻译API简介:http://ai.youdao.com/docs/doc-trans-api.s#p01 有道云C#Demo : http://ai.youdao.com/docs/doc-trans-api.
WPF中,我们使用MVVM,在ViewModel中定义Command和其业务逻辑,界面绑定Command。 那么是不是所有的事件都可以定义Command呢,然后将业务全部放在ViewModel中呢? 界面CommandBindings 如果只是交互的处理,可以直接定义RoutedCommand即可 1.
上一篇博客《C# 获取当前屏幕DPI》,介绍了如何获取当前屏幕的DPI设置 本章主要介绍如何获取当前窗口所在屏幕的信息 当前屏幕信息 如果当前是单屏幕,可以直接获取主屏幕 var primaryScreen = Screen.
正确开启虚拟化的方式 列表如ListBox,ListView,TreeView,GridView等,开启虚拟化 ScrollViewer设置CanContentScroll=True 直接在模板中,设置CanContentScroll="True" 如模板中未设置CanContentScroll属性,可以在列表添加属性ScrollViewer.CanContentScroll="True"。
在我们使用WPF过程中,不可避免并且超级喜欢使用MVVM框架。 那么,使用MVVM的出发点是视觉与业务逻辑分离,即UI与数据分离 诸如下面的问题: 删除操作,假如需要先执行一部分数据的处理,然后删除界面列表中的子项,之后再执行其它数据的处理。
WPF TextBlock/TextBox 设置TextTrimming情况下 判断 isTextTrimmed(Text 文本是否超出 是否出现了省略号) private bool IsTextTrimmed(TextBlock textBlock) { ...
一 以前的方案 以前写过一个圆点绕圈的进度条,根据参数圆点个数和参数每次旋转角度,主要是在cs文件中动态添加圆点,通过后台定时器,动态设置角度后用正弦余弦计算(x,y)的位置。 此方案优点:动态添加Loading的圆点个数和Loading速度 此方案缺点:后台定时器耗性能 WPF 绕圈进度条(一) 二 现在的方案 如果有UI图标,或者自己能够设计矢量图的情况下,可以通过Xaml实现绕圈动画的设置。
Popup弹出后,因业务需求设置了StaysOpen=true后,移动窗口位置或者改变窗口大小,Popup的位置不会更新。 如何更新位置? 获取当前Popup的Target绑定UserControl所在窗口,位置刷新时,时时更新Popup的位置即可。
ListBox的滚动方式 分为像素滚动和列表项滚动 通过ListBox的附加属性ScrollViewer.CanContentScroll来设置。因此ListBox的默认模板中,含有ScrollViewer,ScrollViewer下存放列表内容 而CanContentScroll,true支持逻辑单元(Item),false支持物理单元(像素)。
当重复创建View并绑定同一个ViewModel后,ViewModel中的字段更新,在新的View中的没有反应或者在View中找不到相应的视觉树(如ListBox的ListBoxItem) 初始的解决方案:View关闭后,注销属性Unregister Dependency。
当我们的程序运行时,调用了一段异步的逻辑A,这段异步的逻辑无法转化为同步(如动画、下载进度等) 而,我们又需要等待异步逻辑A处理完成,然后再执行其它逻辑B。 那就迫切需要将异步转同步了! AutoResetEvent autoResetEvent = new AutoResetEvent(false) AutoResetEvent 可以在线程间发送信号互相通信,通过调用 AWaitOne 来等待信号,调用Set发送信息来启动已等待的线程。
TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥在TortoiseGit中不能用。 而基于git的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key ...
生成 SSH 公钥 如前所述,许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。
引用Microsoft HTML Object Library 引用 -> com -> Microsoft HTML Object Library 引用后,显示如图 1.判断ie浏览器是否已经打开了指定Url SHDocVw.
1.已知item的DataContext,获取ListBoxItem 1)ItemContainerGenerator.ContainerFromItem var selectedItem = DocumentsControl.ItemContainerGenerator.ContainerFromItem(object itemModel) 注:如果开户了VirtualizingPanel.IsVirtualizing="True",不在当前显示范围内的Item是获取不了的。
列表排序 1.使用控件默认排序方式(推荐) ListControl.Items.SortDescriptions.Clear(); ListControl.Items.SortDescriptions.
1.通过Graphics类获取 Graphics currentGraphics = Graphics.FromHwnd(new WindowInteropHelper(mainWindow).Handle); double dpixRatio = currentGraphics.DpiX/96; 比如当前屏幕设置DPI设置1.5倍,可以通过如上通过后台获取。
窗口居中 & 变更触发机制 解决: 1。单实例窗口,窗口每次隐藏后再显示时,位置居中显示 2。多屏幕下单实例窗口,当父窗口移动到其它屏幕时,单实例窗口再次弹出时,位置才更新到父窗口屏幕。 3。子窗口每次唤醒时,都居中显示。
当Button绑定了Command,按钮在窗口弹出、或者其它事件时,会自动置灰. 有时,异步执行时间较长时,界面一些绑定了命令的Button,State不会变化,会一直置灰。 直到再次转移Focus。
TextBox焦点问题 1.失焦 KeyBoard.ClearFocus(); 存在一个问题,失去焦点之后,中文通过输入法依旧是可以输入的。 如果是中文文本框,按Enter失焦,同时禁止输入中文,可以调用 InputMethod.SetIsInputMethodEnabled(textBox,false); 在重新GetFocus之后,InputMethod.SetIsInputMethodEnabled(textBox,true)就行。
异常产生环境: 在初始化一个窗口后,没有show出来。在此窗口中,有个控件,重写了控件模板,并加了MultiTrigger。 注意:俩个Condition,一个是从外面绑定过来的Tag,一个是ControlTemplate中Element的属性Tag。
1.System.Reflection.Assembly.GetExecutingAssembly().Location 获取当前工程,比如DLL或者应用程序的目录。因为程序调用的DLL,有可能在任意一个文件夹,这方法能获取当前调用的DLL对应的路径。
Linux中设置权限,一般用chmod命令 1、介绍 权限设置chmod 功能:改变权限命令。常用参数: 1=x(执行权execute) 2=w(写权write) 4=r(读权Read) setuid 设置后,文件拥有文件所有者的权限如root权限 setgid 设置后,目录下创建的文件...
我们经常会碰到生成Excel 界面并在其上操作的功能开发。 比如如下界面,我们需要在菜单里添加一个菜单按钮“Columns To Rows Transform" 功能是对多列批量转成多行. 我们可以通过Interop组件,在其中添加菜单附加功能,这个在之后的随笔中我会写个Demo,供大家查看。
在WPF中,经常需要对窗口进行设置,下面讲讲常用的几个设置。 窗口样式 1、无边框窗口 无边框透明窗体 设置 WindowStyle="None"--无边框,如果需要其它按钮,如缩小、放大、收缩、关闭按钮,可以自定义 AllowsTransparency="True"--只有设置了Allo...
我们在代码中获取一个文件路径的后缀,是一个很简单的事. 如C#中,可以通过new FileInfo(filePath).Extension,或者Path.GetExtension(filePath)获取。
在开发过程中,经常需要获取电脑的一些属性,如获取硬盘ID/CPU序列号/MAC地址作为来加密字符串。 1、硬盘 在我查看网上一些文档时,发现很多人对硬盘序列号很模糊~ 什么叫硬盘序列号?指的是作为一个硬盘的标识;但是有时候发现,同事的电脑硬盘序列号有重复的。
DevExpress中Carousel控件的应用 Carousel,直译为旋转木马,即旋转视图,可以做为数据的展示或者菜单项。 要实现触摸左右滑动的效果,其实是比较容易的,直接在CarouselPanel上实现MouseDown/MouseUp事件,在后台添加逻辑,判断是否产生了位置移动,从而控制面板向左或者向右移动子项。
之前介绍过InstallShield打包工具,本文再介绍更加方便的打包工具Inno Setup Inno Setup相对来说,比InstallShield更容易使用,不需要在VS中创建项目,只要提供Debug或者Release包就行。
关闭图标设计主要涉及主要知识点: 1、Path,通过Path来画线。当然一般水平、竖直也是可以用Rectangle/Border之类的替代 一些简单的线条图标用Path来做,还是很方便的。
有很多项目,都有数据筛选的操作。下面提供一个案例,给大家做参考。 左侧是数据源,搜索框加TreeView控件,右侧是ListBox控件。在左侧数据列点击添加数据,然后点击确定,得到所筛选的数据。 下面直接看代码吧,比较好理解~ 筛选控件做成用户控件,当然也可以直接放在主界面,如果不复用的话。
控件中的搜索图标下载地址:http://www.easyicon.net/1183666-Search_icon.html 搜索框设计过程比较简单: 1、先定义一个Rectangle作为背景 2、然后中间放TextBox输入,可以重写其中的模板。
自定义的CheckBox样式,mark一下,方便以后参考复用 模板 一般CheckBox模板太难看了,所以肯定要重写其中的模板ControlTemplate 外边框 俩个Rectangle,用于定义复选框选中/未选中时的背景色和边框样式 对勾√ 通过俩个path组合,并控制其显示,用于定义选中状态 选中状态 模板状态为未选中状态和选中状态,设置为默认未选中就好了。
本节讲述布局,顺带加点样式给大家看看~单纯学布局,肯定是枯燥的~哈哈 那如上界面,该如何设计呢? 1、一些布局元素经常用到.Grid StackPanel Canvas WrapPanel等。如上这种布局,在子元素数量未知的情况下,我们应该使用WrapPanel或者StackPanel来布局,子元素会自己换行。
DevExpress中定义的ChartControl很不错,很多项目直接使用这种控件。 本节讲述雷达图的样式设置 ...
推荐几个不错的下载地址: 1、http://www.easyicon.net/ 2、http://588ku.com/sucai/ 3、http://www.iconpng.com 可直接下载png等图标 作者:唐宋元明清2188 出处:http://www.cnblogs.com/kybs0/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
Button的选中Effect,我们看下下面的效果: 让我们再放大一点: 怎么设置上面样式呢?直接设置Button的Effect,有点问题,因为Effect不是四周环绕的。那我们也只能重新定义Template了。
自定义可左右滑动、拖拽滑动的平面柱状图 在做这种样式控件之前,可先浏览我之前预研的控件: A、自定义左右滑动ScrollViewer(可拖动滑动) B、自定义Bar柱状图 OK,现在说下控件具体设计过程: 1)采用Grid布局,这样可以将Y轴的标题设置平均高度,X轴的柱子也可以平均。
自定义一个按钮控件 按钮控件很简单,我们在项目中有时把样式封装起来,添加依赖属性,也是为了统一。 这里举例,单纯的图标控件怎么设置 1、UserControl界面样式 ...
自定义日期控件,月份选择。如下是日期的一些效果图。 具体的样式、颜色可以根据下面的代码,自己调节即可 1、日期控件的界面 ...
在WPF中,自定义控件,经常用到Path. Path可以绘制多边形、边框、线条、简单的图标等。 1、Xaml中用法: 2、后台中用法: Path path=new Path(); path.
自定义标题栏 自定义列表,可以直接修改WPF中的ListBox模板,也用这样类似的效果。但是ListBox是不能设置默认选中状态的。 而我们需要一些复杂的UI效果,还是直接自定义控件来的快 GitHub下载地址:https://github.
WPF 自定义柱状图 当前的Telerik控件、DevExpress控件在图表控件方面做得不错,但是有时项目中需要特定的样式,不是只通过修改图表的模板和样式就能实现的。 或者说,通过修改当前的第三方控件以达到项目中UI的界面效果,花费的时间远比重新自定义一个控件要长得多! 所以直接自定义柱状图吧~下面是柱状图的效果: Git代码下载:https://github.
自定义雷达图表如下: Git下载地址:https://github.com/Kybs0/RadarChartControl 1、创建UserControl,名为“RadarChartControl” 前台: View Code 后台: /// /// RadarChartControl.