WPF
mao_mao37
这个作者很懒,什么都没留下…
展开
-
WPF DataGrid - on row selection/lose focus prevent color change
You have to customize theIsSelectedproperty trigger / multi-trigger for theDataGridCellstyle, as below:<Style x:Key="DataGridCellStyle1" TargetType="{x:Type DataGridCell}"> <Se...原创 2019-03-11 09:49:04 · 563 阅读 · 0 评论 -
处理非window设置为window的Owner
普通WPF窗口从一个Window1(Show方式)打开另一个Window2,只要设置Window2.Owner= Window1即可。这样Window2的显示和隐藏可由Window1自动控制。但使用WPF UserControl Host到WinForm时,实现就难了。刚才找到了解决方法:HwndSource winformWindow = (System.Windows.I原创 2016-08-30 09:25:41 · 720 阅读 · 1 评论 -
WPF: 自动设置Owner的ShowDialog
WPF中的Windows的ShowDialog方法并没有提供设置Owner的参数,开发者需要在ShowDialog前设置好Window的Owner属性,正因为如此,许多时候你可能就忘了设置Owner,直接把对话框显示出去了。这样显示的对话框看似没有问题,但是当用户在任务栏切换窗体或者切换至程序时,对话框会显示在主窗体后面,而此时主窗体是不可点的!如果主窗体可以覆盖整个对话框(通常是这样的),那么此转载 2016-08-29 17:32:47 · 2659 阅读 · 0 评论 -
WPF:更好得理解对话框和ShowDialog方法 .
1. 关于标准对话框首先,一个标准的对话框应该严格具备至少如下特点:只要背后父窗体显示,它一定会显示,并且覆盖在父窗体之上。 对话框的窗口标题不会显示在任务栏中的,任务栏仅会显示主窗体的名称。 对于模式对话框(Model Dialog),只有对话框关闭后,背后父窗体才会获得焦点。无模式对话框(Modeless Dialog)没有这样的限制。 那么,举个例子,比如记事本中的字体转载 2016-08-29 11:48:15 · 6585 阅读 · 0 评论 -
在WPF中弹出右键菜单时判断鼠标是否选中该项
和上篇在WPF的TreeView中实现右键选定一样,这仍然是一个右键菜单的问题:这个需求是在一个实现剪贴板的功能的时候遇到的:在弹出右键菜单时,如果菜单弹出位置在ListViewItem中时,我们认为这项已经被选中,可以使用剪贴板功能。 当菜单弹出位置在ListView的空白处时,我们一般认为没有项被选中,此时是不应该使能剪贴板功能的。转载 2016-07-25 11:10:50 · 3322 阅读 · 0 评论 -
在WPF的TreeView中实现右键选定
在WPF中,TreeView默认情况是不支持右键选定的,也就是说,当右键点击某节点时,是无法选中该节点的。当我们想在TreeViewItem中实现右键菜单时,往往希望在弹出菜单的同时选中该节点,以使得菜单针对选中的节点生效。 图1:虽然是在GNU节点上弹出的右键菜单,但选中的节点仍然是上次左键单击的DOC节点。 图2:弹出的右键菜单同时选中GNU节点才是我们所需要的转载 2016-07-25 10:52:52 · 529 阅读 · 0 评论 -
WPF双击事件
由于WPF中没有鼠标的双击事件,因而只能通过MouseDown事件来模拟。当连续的两次MouseDown事件的时间间隔,没有超过一个设定的时间阈值时,就计算为一个双击事件,并作相应的处理。利用WPF中System.Windows.Threading.DispatcherTimer来做定时处理,不建议使用System.Timers.Timer。当定时事件发生时,就重置计数器为0,定时,单击事件中对计转载 2016-06-16 20:21:29 · 2413 阅读 · 0 评论 -
无边框Button(WPF)
由于需要,做了一个WPF的无边框的自定义的Button,代码如下: 运行效果如下:常态:当鼠标经过时的状态:在这个基础上,您可以做出更多的效果(仿照这个是360软件管家右边栏实现的效果)如:我自己已经实现了这个种效果,只是加了一点C#后台代码,辅助控制动画的,你自己可以尝试下,挺好玩的哦。。。呵呵下面是实现效果的代码:<Style x:Key="MainB转载 2016-07-13 11:17:01 · 1257 阅读 · 0 评论 -
C#hashtable使用说明 以及 Hashtable和HashMap的区别【总结性】
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何转载 2016-07-13 11:06:36 · 8602 阅读 · 0 评论 -
Hashtable 数据遍历的几种方式
Hashtable 在集合中称为键值对,它的每一个元素的类型是 DictionaryEntry,由于Hashtable对象的键和值都是Object类型,决定了它可以放任何类型的数据,下面我就把Hashtable对象中放置定义的一个类的几个对象。创建的类如下:class Person { private int age; public int转载 2016-07-13 11:04:42 · 3502 阅读 · 0 评论 -
WPF触发器(Trigger、DataTrigger、EventTrigger)
WPF中有种叫做触发器的东西(记住不是数据库的trigger哦)。它的主要作用是根据trigger的不同条件来自动更改外观属性,或者执行动画等操作。 WPFtrigger的主要类型有:Trigger、MultiTrigger、DataTrigger、MultiDataTrigger、EventTrigger几种。从字面意思上我们想大家已经知道个大概,接下来我将还会用实例代码逐一进行介绍。tr转载 2016-08-25 17:01:06 · 3357 阅读 · 0 评论 -
WPF 邮箱输入框提示 和 手机号码验证 .
WPF 邮箱输入框提示 和 手机号码验证1.邮箱输入框#region 添加下拉框中的子项 private void addlist(string str) //str即为输入框内容 { list_email.Items.Clear(); string[] result = str.Split('@'转载 2016-09-08 16:48:49 · 1461 阅读 · 0 评论 -
WPF遍历界面控件
foreach (UIElement element in uiControls) { if (element is TextBox) { (element as TextBox).IsEnabled = false; ...原创 2019-01-15 10:33:35 · 809 阅读 · 0 评论 -
How to add blend interaction trigger to style resource(如何给通用样式添加触发命令)
The Most improtant is that: <i:Interaction.Triggers> <i:EventTrigger EventName="LostFocus"> <cmd:EventToCommand Co...原创 2019-01-08 11:58:22 · 758 阅读 · 0 评论 -
Q:如何将style中的控件的属性传递给函数(MVVMLight)?
Q:I am following MVVM pattern. I want to pass property value of a control to "CommandParameter" property of same control . But runtime exception of "Object reference not set to an instance of object" ...原创 2018-12-26 17:20:06 · 114 阅读 · 0 评论 -
WPF DataGrid - Button in a column, getting the row from which it came on the Click event handler
Q:I've set the itemsource of my WPF Datagrid to a List of Objects returned from my DAL. I've also added an extra column which contains a button, the xaml is below.This renders fine. However on the B...原创 2018-12-26 17:10:59 · 296 阅读 · 0 评论 -
Caliburn.Micro入门
1.简介 Caliburn是Rob Eisenberg在2009年提出的一个开源框架,可以应用于WPF,Silverlight,WP7等,框架基于MVVM模式,像它的名字一样,是企业级应用的一把利器。而Caliburn.Micro是Caliburn项目的精简版,重构了Caliburn的代码,精简掉了一些不常用的功能。2.CM优点1.ActionMessage,结合了Blend中的Tri转载 2018-01-03 17:20:43 · 471 阅读 · 0 评论 -
WPF-创建超链接文本
在WPF中创建超链接文本,同样有两种方式,一种是在XAML文件中,使用标记语言创建,这是最简单也是最常用的创建方式;另外一种是使用代码创建,这种方式比较少见,而且比较复杂,但是对于需要动态创建或者需要根据不同的条件显示不同的超链接文本的情况下,是必须的。下边就主要讲一下这两种创建方式1.使用标记语言创建(XAML) Foreground="#FF20D18D" Mous原创 2016-09-13 10:46:20 · 7213 阅读 · 0 评论 -
WPF 设置TextBox为空时,背景为文字提示。
原文地址:http://www.cnblogs.com/tsunami/archive/2011/09/16/2179170.html转载 2017-08-04 14:51:45 · 3948 阅读 · 0 评论 -
C# KeyUp事件中MessageBox的回车(Enter)键问题
假如一个窗体上有一个名为txtTest的Textbox控件,如果在此控件的KeyUp事件中有按回车键 弹出messagebox消息框,那么在弹出的messagebox中如果按回车键去执行messagebox上的按钮,那么回车键还会在KeyUp事件中继续执行。一直按回车键的话将循环进行。如下: private void txtTest_KeyUp(object sender, K转载 2017-06-16 15:32:31 · 2046 阅读 · 0 评论 -
WPF设置控件获得焦点FocusManager
转载地址:http://www.cnblogs.com/tommy-huang/p/5175948.html简单用法如下: 在父类容器中通过附加属性FocusManager.FocusedElement来绑定需要强制获得焦点的控件,用法如下: FocusManager.FocusedElement="{Binding ElementName=bt转载 2017-05-18 09:23:01 · 7317 阅读 · 0 评论 -
绑定到异步的ObservableCollection
转载:http://www.cnblogs.com/scy251147/archive/2012/10/30/2745760.html在进行WPF开发过程中,需要从一个新的线程中操作ObservableCollection,结果程序抛出一个NotSupportedException的错误:This type of CollectionView d转载 2017-03-29 15:58:34 · 1253 阅读 · 0 评论 -
WPF中INotifyPropertyChanged用法与数据绑定
转自:http://blog.csdn.net/cselmu9/article/details/8275255在WPF中进行数据绑定的时候常常会用到INotifyPropertyChanged接口来进行实现,下面来看一个INotifyPropertyChanged的案例。下面定义一个Person类:[csharp] view plain co转载 2017-01-13 15:30:30 · 1353 阅读 · 0 评论 -
TextBox的OnTextboxChanged事件里对Text重新赋值带中文, 导致崩溃
今天遇到一个超级bug, Textbox做了限制, 只能输入数字。 结果在搜狗输入法输入中文时导致崩溃, 出错信息如下: 未处理 System.InvalidOperationException Message=无法关闭撤消单元,因为不存在已打开的单元。 Source=PresentationFramework StackTrace: 在 MS.Int转载 2016-07-01 09:49:41 · 1292 阅读 · 0 评论 -
WPF动态添加按钮并相应事件。
上code:点击(此处)折叠或打开Window x:Class="WpfApplication1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/win原创 2016-07-11 19:37:42 · 17756 阅读 · 0 评论 -
WPF-使用代码创建Grid行与列,并将控件添加到Grid中的指定行指定列
在c#中,有时需要通过代码创建面板控件原创 2016-05-13 15:52:39 · 22862 阅读 · 1 评论 -
在.net中序列化读写xml方法的总结
转载地址:http://www.cnblogs.com/fish-li/archive/2013/05/05/3061816.html#_label2转载 2016-05-13 15:50:19 · 413 阅读 · 0 评论 -
一站式WPF--线程模型和Dispatcher
转载地址:http://www.cnblogs.com/Zhouyongh/archive/2009/08/31/1557126.html 开始着手写这个WPF系列,这里的一站式,就是力争在每一个点上能把它讲透,当然,做不到那么尽善尽美,如果有不对的地方也欢迎朋友们指正,我会逐步补充,争取把这个系列写好。通常,WPF 应用程序从两个线程开始:一个用于处理呈现,一个用于管理 UI。呈转载 2016-05-12 13:12:23 · 491 阅读 · 0 评论 -
关于C#中的get与set函数
转载地址:http://blog.sina.com.cn/s/blog_82526aa60100txtx.html在程序中经常碰到get、set,不甚明白,在网上查询时也说的迷迷糊糊,所以整理下,以学的明白透彻点。 有两个类person: public class person { public string name; } pu转载 2016-05-12 11:53:49 · 8294 阅读 · 0 评论 -
WPF多线程演示
转载地址:http://blog.csdn.net/jumtre/article/details/17028657 WPF中的几种处理线程的工作方式:1.简单的DispatcherTimer类似Timer控件2.需要处理UI同步时,Dispatcher DispatcherOpertion3.增强的Thread对象 System.Windows.Threading转载 2016-04-26 16:25:32 · 411 阅读 · 0 评论 -
在WPF中自定义控件(1)
周银辉的开发博客(WPF)在WPF中自定义控件(1)一, 不一定需要自定义控件在使用WPF以前,动辄使用自定义控件几乎成了惯性思维,比如需要一个带图片的按钮,但在WPF中此类任务却不需要如此大费周章,因为控件可以嵌套使用以及可以为控件外观打造一套新的样式就可以了.是否需要我们来自定义控件,这需要你考虑目前已有控件的真正逻辑功能而不要局限于外观,如果目前的控件都不能直觉地转载 2016-04-13 11:24:17 · 7071 阅读 · 4 评论 -
WPF绘制自定义窗口
转载地址:WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下: 界面不难,主要有如下几个要素:窗体的圆角自定义标题栏及按钮自定义状态栏窗体的半透明效果窗体4周有一圈半透明阴影(抓的图上看不出来)实现思路很简单,首先隐藏默认窗口的标题栏和边框,然后用WPF的Border或Canvas等元素模拟定义窗体的标题栏、内容区和状态栏。转载 2016-04-25 20:09:34 · 357 阅读 · 0 评论 -
WPF样式和行为
转载地址:http://blog.csdn.net/dyllove98/article/details/9101377先创建一套样式描述细节,然后仅靠设置Style属性应用样式。行为封装一些基本的UI功能,然后用一两行标记附加到元素上,实现功能。样式基础样式是一种重要的资源。样式是属性值的集合,能被应用到一个元素。WPF样式可以设置任何依赖属性。WPF样式也支持触发器。当另转载 2016-04-25 16:57:31 · 531 阅读 · 0 评论 -
WPF 美化界面,样式的使用
转载地址:http://www.cnblogs.com/shuang121/archive/2013/01/12/2857906.html 在我看来,学习WPF,最重要的还是学习它的布局,样式的使用,类似于web页面布局的优点是winForm所不能及的,可以通过它灵活的布局,样式的添加,从而制作出很多很炫的界面,下面就简单的总结下关于WPF中样式的几种用法: 我们以按钮Bu转载 2016-04-25 16:00:38 · 6253 阅读 · 1 评论 -
C# WPF中DataGrid的数据绑定(Binding)
转载地址:http://www.zhixing123.cn/net/csharp-wpf-datagrid-binding.html最近使用C#+WPF开发一个小测试工具,其中用到了DataGrid。因为没有C#+WPF的开发经验也是一边摸索一边开发,所幸C#+WPF的上手难度不大,开发过程较为顺利。不过在使用DataGrid的时候还是遇到了一点阻绊,并且让人有些恼火。闲话少叙,讲一下这里转载 2016-04-25 14:50:46 · 35959 阅读 · 6 评论 -
WPF中的相关属性含义
1.Margin="10,10,10,10":设置控件距离边框之间的距离,分别为"左、上、右、下" padding是指元素边框的内边距,即控件内部元素距离控件边框的距离2.TextBox.TextWrapping :设置或者获取文本框对文本换行的方式,当将TextWrapping设置为wrap时(即TextWrapping = wrap),会使输入的文本在到达textbox控件的边缘时...原创 2019-03-20 13:27:13 · 485 阅读 · 0 评论 -
终于会用c#中的delegate(委托)和event(事件)了
转载地址:http://www.cnblogs.com/zhangchenliang/archive/2012/09/19/2694430.html一、开篇忏悔对自己最拿手的编程语言C#,我想对你说声对不起,因为我到现在为止才明白c#中的delegate和event是怎么用的,惭愧那。好了,那今天就趁月黑风高的夜晚简单来谈谈delegate和event的简单用法吧,希望能给初学者带来帮助。转载 2016-04-21 19:24:51 · 572 阅读 · 0 评论 -
c#重写TabControl控件实现关闭按钮的方法
转载自:http://www.jb51.net/article/35248.htm1.c#里面的TabControl控件没有关闭按钮,而且很难看。2.有一些已经做好的第三方控件,但是收费。3.由于我的故障树推理诊断项目在绘图的时候允许同时打开多个文档进行操作,就要实现类似于浏览器的多标签功能,而且要可以关闭。4.所以自己写一个类继承TabControl类,然后重写一些里面的方法即可转载 2016-04-21 20:33:47 · 12228 阅读 · 1 评论 -
wpf treeview 绑定不同的对象
treeView 结构: <HierarchicalDataTemplate DataType="{x:Type models:TreeFolder}" ItemsSource="{Binding Items}">转载 2016-06-29 10:41:31 · 1079 阅读 · 0 评论 -
WPF学习之数据绑定
WPF中的数据绑定提供了很强大的功能。与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Converter,Validation Rules,Two Way Binding等功能,省去了很多维护的繁琐工作。另外对于WPF中提供的数据模板功能,让我们可以轻松定制可以被复用的控制呈现的模块—但这是以数据绑定为前提来做到轻松易用的效果的。数据提供转载 2016-06-29 10:39:08 · 971 阅读 · 0 评论