随笔- 62
文章- 0
评论- 3
阅读-
56651
随笔分类 - wpf
Wpf之Xaml属性值和特性值(一)
摘要:其实我一直很好奇在xaml中,通过Attribute=Value这种方式可以进行对元素的描述,例如:这是一个矩形,并且利用蓝色来填充。我们知道在wpf中给UI元素上色可以用Brush(画刷),在MSDN中得知Rectangle.Fill就是一个Brush类型。Brush类的派生类有很多,如下:SolidColorBrush单色画刷LinearGradientBrush线性渐变画刷ImageBrush位图画刷其他这里只列举了三种我们知道Fill=”Blue”中的Blue只是一个字符串,但它最终被翻译成一个SolidColorBrush并赋值给了Rectangle,用c#描述是这样的:SolidC
阅读全文
DependencyProperty
摘要:转载自:http://www.cnblogs.com/yayx/archive/2007/05/26/761117.htmlhttp://www.cnblogs.com/yayx/archive/2008/04/20/1162963.htmlhttp://www.cnblogs.com/yayx/archive/2008/04/22/1166064.html一 引入DependencyProperty这个概念可以说是WPF核心中的核心了。在WPF的框架中随时都能见到它的身影。关于DependencyProperty能带来的诸多方便,很多介绍性的文章里都有,我这里就不介绍了,今天先从什么是Dep
阅读全文
C#图片处理示例(裁剪,缩放,清晰度,水印)
摘要:转载自:http://www.cnblogs.com/wu-jian/前言需求源自项目中的一些应用,比如相册功能,通常用户上传相片后我们都会针对该相片再生成一张缩略图,用于其它页面上的列表显示。随便看一下,大部分网站基本都是将原图等比缩放来生成缩略图。但完美主义者会发现一些问题,比如显示排版时想让相片缩略图列表非常统一、整齐、和美观,比如要求每张缩略图大小固定为120 x 90且不拉伸变形怎么办?再比如用户头像如何让缩略图比原图更清晰?或是如何在上传的图片下加一个半透明的LOGO水印?OK,本文根据自己的项目代码描述以上问题的解决方案,全部基于.Net Framework类库完成,代码中包含了
阅读全文
WPF自定义一个MessageBox介绍
摘要:xaml:<Window x:Class="AgileToDo.UMessageBox" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="UMessageBox" Height="130" Width="280" WindowStyle="None&quo
阅读全文
c# 读取excel的一系列问题
摘要:c#读取excel的方法有不少,这里重点讲直接将excel文件读取到dataset中。在实践过程中会有不少问题,特意摘抄在此:1.基本的代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> private DataSet importExcelToDataSet(string FilePath) { string strConn; strConn = "Provider=Microsoft....
阅读全文
WPF:警惕TextBox会占用过多内存
摘要:问题源自这篇文章:WPF的TextBox产生内存泄露的情况。整个问题是这样的,文章作者演示使用类似下方的代码来不停地像WPF的TextBox控件赋值:for (int i = 0; i < 10000; i++){ //tbx是界面上的TextBox变量 tbx.Text += string.Format("{0}\n", i);} 然后会出现程序占用过多内存的问题。 很快在那篇文章的评论中有人指出这个和WPF没有关系,因为频繁得拼接字符串会产生过多重复字符串对象,即使不显示在TextBox控件上,也会会占用过多内存的。 但是原文作者又在回复中讲到他做了相关测试,但是
阅读全文
c# 文件拖放进程序获取文件路径
摘要:WPF添加Drop事件Drop="Window_Drop_1"Winform添加DragDrop事件 private void Window_Drop_1(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effects = DragDropEffects.Link; else e.Effects = DragDropEffects.None; ...
阅读全文
WPF 创建右键菜单
摘要:主要用到ContextMenu类,对于任何的控件都可以进行对ContextMenu属性的操作进行设置右键菜单的功能.xaml代码如下:<Window x:Class="右键菜单.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350
阅读全文
WPF 获取屏幕长宽(分辨率)
摘要:double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度double y = SystemParameters.WorkArea.Height;//得到屏幕工作区域高度double x1= SystemParameters.PrimaryScreenWidth;//得到屏幕整体宽度double y1 = SystemParameters.PrimaryScreenHeight;//得到屏幕整体高度this.Width = x1;//设置窗体宽度this.Height = y1;//设置窗体高度
阅读全文
c# 程序以管理员身份运行
摘要:1.在项目中添加清单文件,如图清单文件默认内容应该是这样的:<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:as
阅读全文
WPF制作的一个小功能,输入智能提示(IntelliSense)
摘要:最近WPF项目中遇到一个需求,需要给一个RichTextBox添加智能提示(IntelliSense)功能。分析下具体的需求,在用户键入"@"符号时,应该显示一个弹出框,把所有用户列出。用户可以通过键盘、鼠标等进行选择。用户列表可能数据比较多,那么用户还应该可以输入字符进行筛选。用过各种IDE开发工具的童鞋应该对这样的效果很了解了,具体效果如下输入@符号的效果:筛选的效果:再谈谈具体的开发思路.1.如何制作可以实现列表选择功能的弹出框 方法很多,Popup+ListBox可以完美解决.此处我为了省代码,直接用的ListBox2.如何在键入@符号时,将ListBox显示在@符
阅读全文
WPF获取控件位置的方法
摘要:WPF中提供了多种布局方式,因此在布局中的定位相对于WinForm的绝对定位要灵活的多,在WPF中,控件均没有如WinForm中的Location属性,但是,对应的提供了各种设定与获取相对于承载元素的定位一般来说,Wpf中的布局控件大多都是相对定位(网格,流式,面板等),如果我们要改变控件在布局中的位置可以用Margin,Padding等类似HTML中的方式,虽然说这种方式在WinForm也可用,但是WPF中的布局方式与灵活性已经更接近与HTML了WPF中也保留了相对传统的布局方式,如在Canvas容器中可以用SetLeft(),SetTop()来绝对定位关于控件定位详细具体可参考http:/
阅读全文
将图像中的某种颜色设为透明
摘要:Bitmap b = new Bitmap(@"D:\as.jpg"); b.MakeTransparent(System.Drawing.Color.White); b.Save("d:\\haha.jpg");添加:using System.Drawing;wpf需要添加引用System.Drawing.dll。上面实例就是把图片中的白色变为透明色。
阅读全文
WPF Image图像裁剪
摘要:Image类用于在WPF中显示位图图像。Source属性获取图像文件名。Clip属性对图像裁剪,下面的例子将把图像裁剪成椭圆形。
<Image Source="Tulips.jpg" Width="200" Height="150" HorizontalAlignment="Left"> <Image.Clip> <EllipseGeometry RadiusX="100" RadiusY="75" Center="100,75&quo
阅读全文
WPF获取窗体或控件句柄
摘要:在winform中获取窗口句柄很简单,this.Handle。但在wpf中这个有点麻烦。窗体:IntPtr hwnd = new WindowInteropHelper(this).Handle;控件:IntPtr hwnd = ((HwndSource)PresentationSource.FromVisual(uielement)).Handle;
阅读全文
WPF实现窗体内容分割
摘要:WPF提供了一个GridSplitter控件,该控件可以像其他Contorls一样添加到Grid元素的单元格当中,特殊的是它将自动与最接近的网格线整合在一起,当拖动GridSplitter控件时,单元格的宽度和高度将会发生改变。Xmal源码如下:<Window x:Class="分割窗体.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/
阅读全文
c#渐显窗口的实现
摘要:窗体的Opacity属性用于设置窗体的透明度。通过定时器对该属性进行改变可以实现窗体的渐显效果。由于最近在搞WPF所以代码也是基于WPF实现的,winform的也差不多就不贴出来了,原理上面已经说的很清楚了。代码如下:为窗体添加loaded事件 private void Window_Loaded_1(object sender, RoutedEventArgs e) { this.Opacity = 0; DispatcherTimer timer1 = new DispatcherTimer(); ...
阅读全文
(wpf)利用dll存放图片并在程序中读取
摘要:首先在将资源的“生成操作”设为嵌入的资源,如下图所示:这里我以图片为例。pack相关说明http://msdn.microsoft.com/zh-cn/library/vstudio/aa970069.aspxhttp://msdn.microsoft.com/zh-cn/library/vstudio/aa970069.aspx相关Pdf: http://www.docin.com/p-488542499.html假设我有一个Image控件名为imgHead。假如我要读取dll里面"曹操.jpg"这张图片。则在xmal中应该是这样的:<Image Name=&quo
阅读全文
InotifyPropertyChanged接口实现简单数据绑定
摘要:UI跟踪对象变化的一种常用方式就是在对象属性发生变化时触发相关的事件。为此对象就必须实现InotifyPropertyChanged接口。在Msdn上是这样描述的:向客户端发出某一属性值已更改的通知。下面看一个例子:public class Person: InotifyPropertyChanged{public eventPropertyChangedEventHandler propertyChanged;protected voidNotify(string propName){if(this.PropertyChanged!=null){ propertyChanged(this,n
阅读全文
c#不规则窗体移动
摘要:1.重写wndProc代码:protected override void WndProc(ref Message m){ const int WM_NCHITTEST = 0x84; const int HTCLIENT = 0x01; const int HTCAPTION = 0x02; if (m.Msg == WM_NCHITTEST) { this.DefWndProc(ref m); if (m.Result.ToInt32() == HTCLIENT) m.Result = new IntPtr(HTCAPTION); else base.WndProc(ref m); } .
阅读全文