自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(208)
  • 资源 (7)
  • 收藏
  • 关注

翻译 #301 – 使用Access 键(Using Access Keys)

Access 键是指将键盘上的某个分配个拥有关联文本Label的控件的按键。Access 键运行用户通过键盘而非鼠标激活控件。Access 键通过ALT+某个键来触发。当你按住或者点击ALT键的时候,当前窗口下所有支持的Access 键,都会通过下划线显示出来。下面是一个刚刚打开的窗口,没有按住ALT键,Access 键并没有显示。当你按住ALT后,窗口上所有支持的Access 键

2016-09-23 15:31:07 463

翻译 #297 – 为图像或者控件创建镜像(Create a Mirror Image of a Control or Image)

你可以用WPF中的2D缩放变换实现翻转图像或者控件。缩放功能是通过ScaleTransform 类来实现的。你使用它可以对任何图像或者控件在X和Y方向进行缩放。ScaleTransform 的ScaleX 和ScaleY 属性表示水平和垂直方向上的缩放因子。通常情况下它们是正数,但是我们可以使它们负数值来是控件或者图像在对应的方向上翻转。下面的例子中,我们通过ScaleX=0.5 这样

2016-09-22 16:39:51 1008

翻译 #278 – 允许Image只能变小或者只能变大(Allow an Image to Get Bigger, But Not Smaller (or Vice Versa))

通常情况下,当设置Image 控件的Stretch 属性为非None 的时候,显示的图像将允许根据设置的值进行对应的拉伸。例如,设置Stretch 属性为非Uniform ,图像将保持长宽比进行拉伸。当你改变图像容器的大小的时候,图像将会保持长宽比进行拉伸,以保证完整显示。如果在拉伸的过程中,你想让图像不要超过,或者不要小于原始大小,那么你可以使用StretchDirection 属性

2016-09-21 15:41:39 524

翻译 #277 – 显示图片的时候注意图片自己的Dpi信息(Images May Have Embedded DpiX and DpiY Information)

当你使用Image 控件显示图片的时候,即使将Stretch=None,有的时候你会发现图片显示的并不是按照你想要的像素显示。造成这种现象的原因可能是因为图片自己的分辨率(DPI)和你当前的系统的DPI不匹配。一个图像文件(例如.jpg或者.png文件),包含有图像的宽和高的信息,同时也可能包含有图像自己的DpiX和DpiY(分辨率)信息。并不是图像文件都有这个分辨率信息。下面介绍的是

2016-09-19 17:57:20 2278

翻译 #273 – 通过Image 控件显示图片(Display a Picture Using an Image Control)

Image 控件允许用户在界面上显示包括.png, .jpg, .gif, .bmp, .ico, .wdp, or .tiff等类型图像。通过设置它的Source 属性使Image 控件能够找到图片。下面的例子中,通过一个URI将Source 属性指向一个.jpg的图像文件,或者一个唯一的资源标识符。<Window Width="400" Height="300">

2016-09-18 18:22:29 949

翻译 #269 – 根据内容自动改变窗口的大小(Automatically Sizing a Window to Fit Its Contents)

通常我们可以通过设置Width 和Height 属性来设置WPF窗口的宽度和高度。运行后,窗口一开始显示的大小就是设置的大小。但是如果你想让窗口根据里面的内容自动调整大小,那么你可以设置窗口的SizeToContent 属性。默认情况下这个属性的值为Manual,窗口的大小将有手动设置的Width 和Height 属性决定。(不考虑设置窗口最大/最小尺寸大小属性)设置Size

2016-09-14 14:13:53 1143

原创 WPF播放GIF控件完整代码

WPF拥有很强的界面设计能力,可以很方便的做出非常漂亮的界面。但有个问题,WPF没有自己的播放GIF的控件。这让很多想在界面播放动态动画的人不得不使用视频来代替。WPF就真的不能播放GIF动图了吗?当然是可以播放的,只是我们需要写一些代码。下面是我总结后写的一个WPF播放GIF动画的控件。下面介绍一下WPF播放GIF控件思路:在WinForm里面System.Drawing.Bitmap是

2016-09-14 09:38:14 6654 2

翻译 #266 – 指定FontSize的值(Specifying Values for FontSize)

当使用FontSize 属性为字符指定字体大小的时候,你可以使用以下不同的单位。 -WPF与设备无关单位——1/96 英寸 = 1 像素 (96 dpi) -点(Points)——传统度量单位,1/72英寸 -英寸(Inches) -厘米(Centimeters)字体将根据设置的值显示下面是一些在不同单位和值的情况下的例子:8 pt - Sphinx of black

2016-09-12 18:24:45 535

翻译 #261 – Win7标准字体(Standard Fonts in Windows 7)

Windows 7中默认安装了很多字体。排除没有英文字符的字体外,其他的如下:ArialCalibriCambriaCandaraComic Sans MSConsolasConstantiaCorbelCourier NewEbrimaFranklin Gothic MediumGabriolaGeorgiaImpactLucida ConsoleLucida SansMicrosoft S

2016-09-12 18:14:28 2135

翻译 #259 – 对使用OpenType 字体的文本进行排版(Setting Typography Properties for Text Rendered with an OpenType Font)

WPF有一个可以通过设置文本元素附加属性对文本进行排版的排版类Typography 。但是这些属性仅对使用  原文地址:https://wpf.2000things.com/2011/03/28/259-setting-typography-properties-for-text-rendered-with-an-opentype-font/

2016-09-12 16:10:30 634

翻译 #258 – RichTextBox 比TextBox允许显示更丰富的文本格式(RichTextBox Allows Richer Formatting than TextBox)

TextBox 允许你设置很多属性去改变显示的文本的字体等信息。但是如果你想对让文本中的某一部分进行特别的格式设置,那么你就需要用到RichTextBox 控件。RichTextBox 控件只能有一个子元素,这个子元素必须是FlowDocument类型的实例。你可以通过设置RichTextBox 的Document 属性为其设置子元素。下面是一个简单的例子,用来比较TextBox 和Ric

2016-09-12 10:17:29 831

翻译 #256 – 使用FixedDocument 在指定的地方显示内容(Use a FixedDocument to Display Content at Fixed Locations)

FlowDocument 会自动的根据显示的内容进行分页,而FixedDocument 可以控制分页,你可以一页页的添加内容,并指定内容显示在某一页。FixedDocument 里面会包含若干个PageContent 实例,每个PageContent 实例中都包含FixedPage 实例。

2016-09-09 18:02:29 1940

翻译 #255 – 在FlowDocument中使文本环绕图片显示(Flow Text Around an Image in a FlowDocument)

在FlowDocument 中,可以使用Floater 将文本环绕用户控件显示。一般可以用来使文本环绕图片显示。将Floater 作为包含了需要显示的文本的Paragraph 的子元素。而下面是在FlowDocument 中使用Floater的部分代码。

2016-09-09 15:25:13 2260

翻译 #254 – 能够装载FlowDocument的容器(Types of Containers for Hosting a FlowDocument)

有四种控件可以作为FlowDocument 的宿主容器: -FlowDocumentReader ——提供多列显示、翻页、查找和放大功能的阅读器 -FlowDocumentPageView可以er ——提供多列显示、翻页和放大功能的阅读器 -RichTextBox ——可以显示可编辑格式的内容 -FlowDocumentScrollViewer ——可显示垂直滚动内容下面是各种

2016-09-09 11:47:54 415

翻译 #253 – (FlowDocument 将会被自动放入到文本阅读器中)FlowDocument is Hosted in a FlowDocumentReader Automatically

因为FlowDocument 并不是继承自UIElement 类,所以无法将它作为Panel 的子元素放入到Panel 里面。但是我们可以将FlowDocument 作为ContentControl实例的内容放入到ContentControl里,将ContentControl作为FlowDocument 的容器。如果我们这么做了,FlowDocument 会被自动的托管到一个FlowDocum

2016-09-09 11:35:15 517

翻译 #252 – FlowDocument 自动调整文本流(FlowDocument Flows its Content Automatically)

FlowDocument 会自动调整其内部文本流的呈现以适应当前显示区域的大小。下面的例子中,我们将一个FlowDocument 包含在一个FlowDocumentScrollViewer中。 There was no possibility of taking a walk that day. We had been wandering, ind

2016-09-08 11:30:39 2625

翻译 #251 – 在FlowDocument中嵌入UIElement (Embedding an UIElement Within a FlowDocument)

你可以通过使用BlockUIContainer 在FlowDocument 中嵌入任何UIElement 。这样允许在文档中插入控件来显示。因为Panel 继承自UIElement,因此你不仅可以嵌入单个的控件,还可以通过Panel 作为容器嵌入更多的控件。下面是一个例子: "Be who you are and say what you feel, because those w

2016-09-08 10:11:46 704

翻译 #250 – 在FlowDocument中使用Section (Including a Section Block in a FlowDocument)

Section 可以理解为是一类可以被FlowDocument 包含的一块区域。Section 可以作为其他文字内容的容器。你可以在Section 上设置各种属性并使这些属性应用到Section 中包含的其他文字块中。下面是一个简短的例子: Act I - George and Martha return from a faculty party, but Martha soon

2016-09-08 09:56:39 791

翻译 #249 – 在FlowDocument中创建表格(Creating a Table in a FlowDocument)

你可以使用Table 在FlowDocument 添加列表。通过行列布局呈现表格。 Some Pixar films: Title Year

2016-09-07 15:07:32 3636

翻译 #248 – 在FlowDocument中创建列表(Creating a List in a FlowDocument)

你可以使用List 在FlowDocument 中包含列表 Some Pixar films: Toy Story I can have a 2nd paragraph. A Bug's Life

2016-09-07 15:04:51 1008

翻译 #246 – 在文档中使用FlowDocument控件(Use FlowDocument Control to Host Entire Documents)

FlowDocument 控件比Label 和TextBlock 提供了更丰富的功能显示文本。一个FlowDocument 可以包含很多段落、列表、章节和表格等。下面是一个例子: Excerpt from White Fang, by Jack London A second cry arose, piercing the

2016-09-07 14:59:29 839

翻译 #245 – 向TextBlock控件中添加格式文本的简单实现(Easily Inline Text Formatting Codes with TextBlock Control)

你可以通过定义一系列的Run元素实例来指定TextBlock 控件中的内容格式。首先,你可以只是简单的设置TextBlock 的文本内容: Henry V was here.但是,你还可以直接在内容里面包含一些格式标签: We few, we happy few, we band of brothers;For he to-day that

2016-09-01 11:26:30 1076

翻译 #244 – 使用TextBlock显示多种多样的格式文本(Use a TextBlock Element for Richer Formatting)

Label控件支持设置字体大小、粗细等属性,但是这些设置会应用到Label所有的文本上。它很难嵌入不同格式的字符。TextBlock 控件允许通过添加不同的Run 元素来格式化其一部分显示的文本。不同的Run 格式化的内容可以不尽相同。下面是Label的例子:<Label Background="DarkGray" Margin="10" Height="50" FontSize="1

2016-08-31 15:37:00 1135

翻译 #239 – 重写Shape类创建自定义图形(Creating a Custom Shape by Overriding the Shape Class)

如果你需要一个任何Shape类的子类都无法显示出来的特殊图形。你可以通过继承Shape类来创建自定义图形来实现。你通过重写Shape的DefiningGeometry 属性来定义自定义图形的形状。在属性的get方法,创建一个Geometry类实例并返回。在下面的例子中,我们创建一个Geometry 实例,并用StreamGeometryContext 将它绘制出来。public class

2016-08-30 15:29:45 2714

翻译 #234 – 在窗体上显示DrawingVisual 实例(Getting a DrawingVisual Object Rendered in a Window)

一个继承自DrawingVisual 类的实例需要寄宿在其他类型的实例上才能在窗体或者页面上显示。这些低级别的控件可以在 UIElement 或者FrameworkElement 上寄宿(也就是通过其显示)。UIElement 支持基本的布局,这是在窗体或者容器中显示控件的所需要的最基本功能。下面的例子通过重写FrameworkElement 来寄宿我们的新控件(EllipseAndRec

2016-08-25 14:57:45 983

翻译 #233 – DrawingVisual类的一个例子

当需要一个低级别的控件来绘制若干2D图形的时候,你可以通过自定义一个继承自DrawingVisual 的类来实现。下面的一个例子是通过一个继承自DrawingVisual 的类来显示两个图形的简单实现。class EllipseAndRectangle : DrawingVisual{ public EllipseAndRectangle() { usin

2016-08-25 14:40:25 1588

翻译 #232 – DrawingVisual类(The DrawingVisual Class)

DrawingVisual 是一个轻量级的类,它是用于在屏幕上绘制一系列二维矢量图形的基类。他继承自Visual 类,支持点击测试和坐标转换。它还继承ContainerVisual类,可以管理一系列单独的可视化Visual 实例。你可以通过调用它的RenderOpen 方法获得DrawingContext 实例,然后调用它的DrawingContext 方法来绘制DrawingVisual 的

2016-08-23 17:06:35 1017

翻译 #231 – 使用渐变色作为前景色(You Can Use a Brush for a Control’s Foreground)

在WPF中,画刷常常被用来当做背景色使用,但是它也可以作为前景色使用。举个例子,使用画刷作为一个Label的前景色,那么Label的文字将会颜色将会被渲染成为指定的画刷。<Label Content="You can render text with a brush.." HorizontalAlignment="Center" Margin="20" FontSize="2

2016-08-23 16:24:14 422

翻译 #230 – 当鼠标悬停在控件上时修改其放射渐变RadialGradientBrush(Changing a Radial Gradient as Mouse Over a Control)

下面是一个根据鼠标移动事件修改放射渐变画刷的例子。在XAML中定义的放射渐变画刷()<Button x:Name="btnActiveGradient" Content="Click Me" Width="120" Height="30" Margin="30" MouseMove="btnActiveGradient_MouseMove" MouseLeave="btnA

2016-08-22 17:14:51 622

翻译 #227 – You Can Specify Gradient Fills in Absolute Coordinates(通过绝对坐标指定渐变范围)

当你在二维空间上指定渐变范围的时候,一般都是使用相对控件大小归一化之后的坐标系(范围从0到1)。但是通过MappingMode 属性,你可以使用绝对坐标(设备无关像素)来替代这种归一化的比例坐标来指定渐变的开始和结束位置。下面的例子中我们设置MappingMode 属性的值为Absolute,然后指定渐变的起始和结束点的绝对坐标。这个设置的效果就是使渐变效果只会显示在控件上的指定坐标点之范

2016-08-19 11:11:36 369

翻译 #221 – Changing a Brush at Run-Time(在Run-Time的时候改变画刷)

我们可以在Run-Time的时候改变Brush的外观属性,例如它的颜色,那么任何使用这个Bursh的控件也会自动的随着改变。假如我们有若干个使用了SolidColorBrush 的控件 上面的代码中定义了一个红色的SolidColorBrush,而且有一个Button,一个Label和一个Ellipse使用了这个SolidColorBrus

2016-08-18 16:44:32 583

翻译 #215 – Other Choices for Gradient Spreads Outside the Fill Area

渐变过程中关于超出渐变区域的处理如果在使用渐变的时候,渐变区域的开始和结束点在一条直线上,超出渐变区域的地方如何显示,将通过SpreadMethod 属性来控制。

2016-08-17 11:33:08 293

翻译 #205 – (WPF GUI管道)The WPF GUI Pipeline

在WPF中,有很多不同的子元素和动作执行者影响数据或者内容的显示。这些元素可以被看做是一个“管道”。数据流从管道的一端进入,GUI界面元素将从管道另外一端输出。这些在管道中的元素包括:  -数据绑定(Data binding )和一个或者多个控件绑

2016-08-12 10:27:43 1442

翻译 #200 – 窗体间的父子从属关系(Parent/Child Relationships Between Windows)

创建一个窗口并使用它的Show 方法显示这个窗口,将可以使这个窗口的显示不依赖已经存在窗口(非模式对话框)。新的窗口将在任务栏上有自己的icon,也可以自己独立最大化和最小化。(也就是说这个新的窗口和创建它的窗口将没有任何关系——译者注)

2016-08-10 11:15:07 889

翻译 #197 – Override Application Class Methods for Standard Events(为Application类的标准事件重写方法)

我们已经提到过Application类的一些主要事件,例如Startup, Exit 和SessionEndin。除了为Application.SessionEnding 事件添加响应函数以外,我们还可以只重写OnSessionEnding 方法就可以完成对SessionEnding 事件的处理。这种方式对继承自Application的类来说更加方便合适。不需要在 App.xaml 和App.xaml.cs中指定处理函数,只需要在App.xaml.cs中添加重写的代码即可。

2016-08-08 15:04:19 412

翻译 #180 – How Layout Works(WPF布局如何工作)

WPF的布局就是WPF容器(例如Grid, StackPanel)如何排列显示其子控件(例如Button, Label)的过程。容器会按照已经定义好的渲染方式计算出每个子控件的最终大小和位置。当容器首次被渲染或者子控件中某个能够影响布局变化的属性发生改变的时候,布局处理程序就会被触发。

2016-08-08 10:22:19 626

翻译 #177 – A Content Presenter Is a Placeholder for a Content Control’s Content

ContentPresenter 是用来显示 ContentControl内容的。在WPF中,ContentControl 用来显示单一区域的内容的控件。该控件有用来描述自己特定可视树的控件模板(Template 属性)。在它的可视树中有内容的显示者(ContentPresenter),用来显示控件实际内容。

2016-08-07 17:12:14 290

翻译 #176 – Two Kinds of Templates(两种模板)

在WPF中,有两种类型的模板——控件模板(ControlTemplate)和数据模板(DataTemplate)控件模板运行用户精确的指定构造一个控件的可视树。下面的例子显示一个由按钮控件,该控件由一个Button和两个Label控件组成。

2016-08-07 16:49:09 439

翻译 #173 – 可以将将Freezable类型的(You Can Put Freezable Objects Into a Read-Only State)

继承自Freezable 的类一般有读/写两种状态,但是他们可以很明确的通过其Freeze 方法冻结并被设置为只读状态。在WPF中,被冻结的类执行起来会更有效率,因为他们不需要在其属性值改变的时候做属性通知。例如WPF中绘图相关的Brush和3D图形,它们继承自 Freezable. 他们初始的状态是未冻结的,因它们的任何一个改变都会引起属性改变的通知。如果你有一个继承自 Freezable的实例,但是你并不想改变它,你可以使用Freeze 将之冻结。

2016-07-30 14:36:52 584

翻译 #168 – 类的继承关系

WPF类的继承关系

2016-07-20 11:16:40 384

你比我猜,游戏程序(windows)

公司年会的时候需要做一个你比我猜的游戏,于是让我写了一个游戏UI,十分简单,现在分享出来给大家。这个程序需要.Net Framework4

2018-01-31

WPF播放GIF图片源代码

WPF播放GIF项目,里面有实现了一个控件(GIFImage)播放GIF控件,然后在窗体中使用。这个控件可以单独拿出来使用。

2016-09-23

WPF拖曳例子

WPF拖曳例子

2016-06-28

WPF Drag Drop例子

WPF Drag Drop例子

2016-06-28

官方WPF 拖曳例子源代码

官方WPF 拖曳例子

2016-06-28

微软C#无线网络管理库

微软官方C#编写的无线网络管理类库

2016-05-24

电脑报VC++教程

简单易懂的介绍了MFC编程,示例不错,适合新手。

2007-12-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除