摘要: WPF做一个简单播放器 WPF中有个MediaPlayer类,它位于System.Windows.Media命名空间下。基于Windows Media Player构建起来的,所以下面做的播放器的前提是 电脑上必须安装Windows Media Player 10或更高版本。 一、打开vs,新建一个应用程序项目。 我们在窗体拖入一个MediaElement控件 下面我们来触发这个控件的播放。这里我... 阅读全文
posted @ 2011-01-24 08:23 Lee's Blog 阅读(1620) 评论(0) 推荐(1) 编辑
摘要: 制作动画路径-Path Path中有个Date属性,用来获取或设置指定要绘制的形状的 Geometry。 所以我们画一个圆来和一个椭圆路径,是圆在椭圆路径上移动,我们先画个圆。 Ellipse x:Name="e1" Stroke="Black" Width="50" Height="50" Fill="Red" Margin="0,0,228,211"/Ellipse 在画一个路径 Path x:Name="p1" Stroke="Blue" Path.Data EllipseGeometry x:Name="eg1" Center="120,100" RadiusX=" 阅读全文
posted @ 2011-01-17 08:45 Lee's Blog 阅读(2328) 评论(2) 推荐(1) 编辑
摘要: DoubleAnimation 接着上一篇使用的是XAML来实现动画的效果,今天我们用代码来实现下: 我们在窗体上放一个Rectangle,对这个Rectangle实现宽度的变化。当我们按下按钮来触发它的宽度变化。 具体代码如下: 我们在加点颜色的变化如何。在XAML中我们先要给个SolidColorBrush的Name。[代码]然后再按钮代码中添加:效果图:开始前 开始后的某一秒: 阅读全文
posted @ 2011-01-10 08:35 Lee's Blog 阅读(1037) 评论(0) 推荐(0) 编辑
摘要: 2D动画之—Trigger 我们知道Trigger是一个触发器,它按条件应用属性值或执行操作。 要注意的是:若要使触发器有意义,必须在 Trigger 上同时指定 Property 和 Value 属性。如果这两个属性或其中一个未设置,则会引发异常。 此外,还有其他类型的触发器。MultiTrigger 用于根据多个属性的状态应用更改。EventTrigger 用于指定在发生事件时应用更改。DataTrigger 和 MultiTrigger 用于数据绑定属性。 下面通过实例来了解强大的Trigger 首先我们画个矩形在面板上,并对它设置一个RotateTransform,我们后面要对这个 阅读全文
posted @ 2011-01-04 08:20 Lee's Blog 阅读(3479) 评论(1) 推荐(1) 编辑
摘要: 2D动画 今天主要讲2D动画,讲其中的StoryBoard属性。 Storyboard 是一种为其所包含的时间线提供目标信息的容器时间线。 演示图板可以包含任意类型的 Timeline,包括其他容器时间线和动画。 可以使用 Storyboard 对象将影响各种对象和属性的时间线组合成一个时间线树,以便于组织和控制复杂的计时行为。 下面我们来做个demo演示。 我们画个Rectangle,使他能够旋转。 代码: 这里我们给rectangle1一个RenderTransform使他能够旋转,这里设置Angle为0度,以CenterX和CenterY=0为中心点旋转。我们要使他旋转就要给他一个事件, 阅读全文
posted @ 2010-12-24 22:38 Lee's Blog 阅读(1202) 评论(0) 推荐(0) 编辑
摘要: 画布 Canvas画布 它的作用域是: 定义一个区域,在该区域中可以使用相对于 Canvas 区域的坐标显式定位子元素。 Canvas 具有默认值为零的 Height 和 Width 属性,除非它是可自动调整其子元素大小的元素的子元素。Canvas 的子元素从不会调整大小,它们只是位于指定的坐标处。这为不需要或不希望使用固有的大小约束或对齐方式的情况提供了灵活性。如果希望自动调整子内容大小并将其对齐,通常最好使用 Grid 元素。 ZIndex 属性确定共享相同坐标空间的子元素的显示顺序。如果一个子元素的 ZIndex 值较高,则表明此元素将显示在具有较低值的另一个子元素之上。 注意: 阅读全文
posted @ 2010-12-21 13:34 Lee's Blog 阅读(2060) 评论(0) 推荐(0) 编辑
摘要: 2D图形的变化(Transform) 我们来讲一下2D图形的变化。也就是关于RenderTransform这个属性。 我们向元素变换的时候,有两种应用变换。 如果您不希望变换影响布局,请使用该元素的 RenderTransform 属性。 如果您希望变换影响布局,请使用该元素的 LayoutTransform 属性。 下面来讲RenderTransform属性。 RotateTransform属性,Angle表示旋转的角度。CenterX,CenterY表示旋转中心点的位置。 ScaleTransform属性,用来放大或放小元素的。它也有CenterX,CenterY.还有ScaleX,S 阅读全文
posted @ 2010-12-20 18:02 Lee's Blog 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 图片剪切 今天我要实现在图片上剪切我们想要的图形。 首先新建一个WPF应用程序。 我们在图片上实现剪切,那一定要用到Image控件了。用到Image的剪切属性Clip。 下面我们先截一个椭圆。 效果如图:image.Clip下有6个可画的图形。1、CombinedGeometry 表示由两个 System.Windows.Media.Geometry 对象组合定义的二维几何形状。2、GeometryGroup 表示由其他 System.Windows.Media.Geometry 对象组成的复合几何图形。3、LineGeometry 表示线条的几何图形。4、PathGeometry 指定用于生 阅读全文
posted @ 2010-12-20 18:02 Lee's Blog 阅读(2598) 评论(0) 推荐(0) 编辑
摘要: WPF 样式与资源二 我们知道我们可以把控件的样式写到Style里面,直接套用就可以了。今天我们深入下,在ListBox里实现图片和文字的资源项。 这个就是我们今天要实现的。 打开Visual Studio,新建一个WPF应用程序。在窗体上拖一个ListBox。 我们看到ListBox1中有文字又有图片。我们可以猜到它可以用两个textblock 和一个image控件组成。那么我们要声明两个属性,一个Name,一个Image.所以我们新建一个类:Users.cs在类中写:[代码]这里我们实例化了一个Users数组叫user然后我们在MainWindow.xaml.cs里写: 这里的DataCo 阅读全文
posted @ 2010-12-17 08:40 Lee's Blog 阅读(1166) 评论(3) 推荐(1) 编辑
摘要: WPF样式与资源 在控件中我们一般可以通过属性来设置它们的样式,如果我们要对很多控件用同一种样式。该怎么办能呢? 方法一:就是在每个控件的属性中该,显然这不是一种明智的选择。 那我们就用法二: 我们可以在他的父容器里的Style.Resource里设置。因为这样其他控件(在同一个父容器中)也可以访问到。 下面我用demo来讲解。 我们现在窗体上拖3个Button控件。我们在Window.Resources里设置它的Style [代码]这里要有TargetType用来识别绑定对象是什么。接下来我们在Button上绑定Style其实就这个 Style="{StaticResource BtnSty 阅读全文
posted @ 2010-12-15 22:12 Lee's Blog 阅读(1052) 评论(0) 推荐(0) 编辑
摘要: WPF文字方块 其实我们接着上次讲的课。 我们先拖个textBox到窗体中,给他字的背景色上一幅图画。 TextBox Margin="0,52,16,69" Name="textBox1" FontSize="36" Background="Yellow" BorderBrush="Red" BorderThickness="7" FontFamily="Arial Bold" TextBox.Foreground ImageBrush ImageSource="Rose.bmp" / /TextBox.Foreground /TextBox 这里为了更好的效果,我们 阅读全文
posted @ 2010-12-14 20:57 Lee's Blog 阅读(1096) 评论(6) 推荐(0) 编辑
摘要: VisualBrush做倒影 我们先看下效果 我们用到的是一个Textbox,一个Rectangle。 思路是:我们在Ractangle里填充VisualBrush,并绑定Textbox. 下面看代码: Grid TextBox Height="40" Margin="42,51,40,0" Name="textBox1" VerticalAlignment="Top" FontSize="24" / Rectangle Margin="42,102,42,0" Name="rectangle1" Stroke="Black" Height="40" VerticalAlignme 阅读全文
posted @ 2010-12-13 20:21 Lee's Blog 阅读(1513) 评论(0) 推荐(1) 编辑
摘要: Linear/RadialGradientBrush先介绍下这两个笔刷的特点: LinearGradientBrush 使用线性渐变绘制区域。 线性渐变沿直线定义渐变。 该直线的终点由线性渐变的 StartPoint 和 EndPoint 属性定义。 LinearGradientBrush 画笔沿此直线绘制其 GradientStops。 默认的线性渐变是沿对角方向进行的。 默认情况下,线性渐变的 StartPoint 是被绘制区域的左上角 (0,0),其 EndPoint 是被绘制区域的右下角 (1,1)。 所得渐变的颜色是沿着对角方向路径插入的。 下面的插图显示了对角方向的渐变。 图 阅读全文
posted @ 2010-12-11 11:42 Lee's Blog 阅读(2423) 评论(0) 推荐(1) 编辑
摘要: ImageBrush(笔刷) 打开Visual Studio,我们画一个椭圆 Ellipse Margin="42,64,43,90" Name="ellipse1" Stroke="Black" Ellipse.Fill ImageBrush ImageSource="Earth.bmp" / /Ellipse.Fill /Ellipse 效果图: 很简单吧!这里只用到了Ellipse.Fill属性和ImageBrush就能画一个带图片的椭圆。 同样,我们也可以在TextBlock中实现同样的功能。 TextBlock Height="75" Margin="17,0, 阅读全文
posted @ 2010-12-08 19:46 Lee's Blog 阅读(992) 评论(0) 推荐(0) 编辑
摘要: 今天我们来了解下WPF的图形透明效果 打开Visual Studio ,新建一个WPF应用程序。 在界面上拖入一个Ellipse控件,给它的Stroke(边框)为Black(黑色),(填充)Fill为(红色)"Red",透明度(opacity)为0.5。 Ellipse Margin="25,57,109,0" Name="ellipse1" Stroke="Black" Height="72" VerticalAlignment="Top" Fill="Red" Opacity="0.5" / 如图: 接下来我们再画两个椭圆。 Ellipse Margin="87,73,55,94" 阅读全文
posted @ 2010-12-08 08:34 Lee's Blog 阅读(2055) 评论(0) 推荐(0) 编辑