- 博客(16)
- 资源 (7)
- 收藏
- 关注
翻译 #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 1016
翻译 #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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人