More Related Content
Similar to Xaml Tutorial By Allan
Similar to Xaml Tutorial By Allan (9)
Xaml Tutorial By Allan
- 4. XAML = e X tensible A pplication M arkup L anguage 可扩展应用程序标记语言
- 8. XAML : 由 Tags 构建而成 可以直接使用 Tags 进行图形的绘制 Tags 表现为单独元素 (Rectangle…) 或容器类元素 (Canvas…) XAML 的 tags 中 , 除了描述图形 , 也有其它功能性 tags (Storyboard/Trigger…)
- 9. XAML 基础标签 Canvas 画布 Brushes 笔刷 基础图形 :Rectangle,Ellipse,Line,Polygon,etc. TextBlock 文本框 Image 图像 Layout Color Shape Content Media
- 14. Brushes ( 1 ) 用于声明对象的 填充 / 描边方式 对于 形 来说 , 可以设定其填充方式 对于 线 来说 , 可以设定其描边方式 Brushes 支持 单色填充 (Solid) , 渐变填充 , 及 图像填充
- 17. Brushes ( 4 ) <RadialGradientBrush /> 与线性渐变语法一致 <Rectangle Width="200" Height="150" > <Rectangle.Fill> <RadialGradientBrush> <RadialGradientBrush.GradientStops> <GradientStop Color="Red" Offset="0" /> <GradientStop Color="Black" Offset="1" /> </RadialGradientBrush.GradientStops> </RadialGradientBrush> </Rectangle.Fill> </Rectangle>
- 18. Brushes ( 5 ) <ImageBrush /> <Ellipse Width="200" Height="75" > <Ellipse.Fill> <ImageBrush ImageSource="Assets/members.jpg" /> </Ellipse.Fill> </Ellipse>
- 19. 使用文本 <TextBlock /> <TextBlock>Hello</TextBlock> Hello <TextBlock FontSize="18">Hello</TextBlock> Hello <TextBlock FontFamily="Courier New">Hello</TextBlock> Hello <TextBlock TextWrapping="Wrap" Width="100"> Hello there, how are you? </TextBlock> Hello there, how are you? <TextBlock> Hello there,<LineBreak/>how are you? </TextBlock> Hello there, how are you?
- 20. 使用图像 <Image /> 与图像填充的显示方式类似 , 但显示完整矩形图像 <Image Width=“200” Source=“Assets/Grass.jpg" />
- 22. 图形变换 对对象实施图形变换效果 , 包括变形 , 旋转等 <Rectangle Width="200" Height="100" Fill=“Red"> <Rectangle.RenderTransform> <RotateTransform CenterX="25" CenterY="100" Angle="45" /> </Rectangle.RenderTransform> </Rectangle>
- 23. 图形变换 (2) 可以成组进行图形变换 <Canvas xmlns="..." xmlns:x="..."> <Canvas.RenderTransform> <RotateTransform Angle="-45" CenterX="50" CenterY="50"/> </Canvas.RenderTransform> <Ellipse Width="100" Height="100" Fill="Yellow" /> <Ellipse Canvas.Top="25" Canvas.Left="25" Width="10" Height="10" Fill="Black" /> <Ellipse Canvas.Top="25" Canvas.Left="65" Width="10" Height="10" Fill="Black" /> <Line X1="25" Y1="75" X2="75" Y2="75" Stroke="Black" /> </Canvas>
- 25. 图形变换 (4) <TransformGroup /> 成组多个变换方式 <Canvas xmlns="..." xmlns:x="..."> <Canvas.RenderTransform> <TransformGroup> <RotateTransform Angle="-45" CenterX="50" CenterY="50"/> <ScaleTransform ScaleX="1.5" ScaleY="2" /> </TransformGroup> </Canvas.RenderTransform> <Ellipse Width="100" Height="100" Fill="Yellow" /> <Ellipse Canvas.Top="25" Canvas.Left="25" Width="10" Height="10" Fill="Black" /> <Ellipse Canvas.Top="25" Canvas.Left="65" Width="10" Height="10" Fill="Black" /> </Canvas>
- 26. 嵌入媒体 <MediaElement /> 用于显示视频或音频 , 不需要其它控件 <Canvas xmlns="..." xmlns:x="..."> <MediaElement Source=“Assets/silverlight.wmv" /> </Canvas>
- 28. 使用 XAML 制作动画 可以通过 XAML 语言创建复杂的动画方式 动画本身基于 XAML 动画播放的事件触发器基于 XAML
- 29. 使用 XAML 制作动画 – 示例 <Canvas xmlns="..." xmlns:x="..."> <Canvas.Triggers> <EventTrigger RoutedEvent="Canvas.Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="theCircle" Storyboard.TargetProperty="Width" From="200" To="1" Duration="0:0:2" AutoReverse="True"/> </Storyboard> </BeginStoryboard> </EventTrigger> </Canvas.Triggers> <Ellipse x:Name="theCircle" Width="100" Height="100" Fill="Yellow" /> </Canvas>
- 37. 关键帧类型 (Demo) ... <DoubleAnimationUsingKeyFrames Storyboard.TargetName="theCircle" Storyboard.TargetProperty="Width"> <DoubleAnimationUsingKeyFrames.KeyFrames> <SplineDoubleKeyFrame Value="10" KeyTime="0:0:1" KeySpline="0.5,0,0.5,0.5" /> <SplineDoubleKeyFrame Value="50" KeyTime="0:0:2" KeySpline="0.5,0,0.5,0.5" /> <SplineDoubleKeyFrame Value="150" KeyTime="0:0:4" KeySpline="0.5,0,0.5,0.5" /> </DoubleAnimationUsingKeyFrames.KeyFrames> </DoubleAnimationUsingKeyFrames>...