silverlight系列(Grid、Border、Sharp、Brush)
rid:
- GetColumn/SetColumn:获取/设置Grid.Column的值。
- GetColumnSpan/SetColumnSpan:获取/设置ColumnSpan的值。
- GetRow/SetRow:获取/设置Row的值。
- GetRowSpan/SetRowSpan:获取/设置RowSpan的值。
- ShowGridLines:显示边界线。
Border:
- Background:背景颜色。
- BorderBrush:边框填充颜色。
- BorderThickness:边框大小。
- CornerRadius:边框角的半径。
- Padding:边框与其子对象的距离。
Sharp:
Shaped对象:包括Ellipse、Line、Path、Polygon、Polyine和Rectangle。通用属性有:
- Stroke:绘制形状的轮廓。
- StrokeThickness:形状轮廓的粗细。
- Fill:绘制形状的内部。
- Stretch:设置填充分配空间的值若在Canvas中使用,可以使用Canvas.Left和Canvas.Top附加属性支持子对象的绝对定位。
路径标记语法:
- 移动命令:大写的M指示startPoint是绝对值;小写的m指示startPoint是相对于上一个点的偏移量。
- 绘 制命令:直线命令L endPoint或l endPoint;水平线命令H 90或h 90;垂直线命令V 20或v 20;三次方贝塞尔曲线命令C controlPoint1 controlPoint2 endPoint,例如C 100,200 200,400 300,200;二次贝塞尔曲线Q congrolPoint endpPoint,例如Q 100,200 300,200.平滑的三次方贝塞尔曲线S controlPoint2 endPoint,例如s 100,200 200,300。平滑的二次方贝塞尔曲线命令T controlPoint endPoint。椭圆弧线命令A size rotationAngle isLargeArcFlay sweepDirectionFlay endPoint,其中size格式为x,y,弧线的x轴半径和y轴半径,rotationAngle椭圆的旋转度数,isLargeArcFlag如果 弧线的角度应大于或等于180读,则设置为1否则为0,sweepDirectionFlag如果弧线按照正角方向绘制则设置为1否则为0。
- 关闭命令:终止当前的图形并创建一条连接当前点和图形起点的线(转角),格式为Z。
- 点语法:描述点的x坐标和y坐标,格式为x,y。
- 特殊值:区分大小,有Infinity正无穷大Double值的,-Infinity负无穷大Double值,NaN。
Data:以move命令开头,用M指示。
Brush:
- SolidColorBrush:纯色绘制,Color也可使用十六进制表示法描述。
- LinearGradientBrush:线性渐变。
- 渐变轴:渐变轴起以StartPoint,结束以EndPoint。点(0,0)为左上区域,(1,1)为右下区域
- GradientStop:渐变画笔基本构造,Offset设置停止点在渐变轴上的位置。位置是从0到1区间内。
- RadialGradientBrush:辐射渐变。
- GradientOrigin 指定径向渐变画笔的渐变轴的起点。 渐变轴从渐变原点辐射至渐变圆。画笔的渐变圆由其 Center、RadiusX 和 RadiusY 属性定义。
- ImageBrush:将图像用作填充、背景或轮廓格式为<ImageBrush ImageSource="" />
- SourceName:提供画笔视频的MediaElement的名称。
- Stretch:视频内容填充绘制区域方式:None、Stretch、Uniform和UniformToFill。
MediaElement的Play,Pause,Stop和Position状态的改变也改变VideoBrush的填充状态。
LayOut.xaml:
<UserControl xmlns:dataInput="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input"
x:Class="LayOut.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<Grid x:Name="LayoutRoot" Background="AliceBlue" HorizontalAlignment="Left" Width="Auto" Height="500"
ShowGridLines="True" VerticalAlignment="Top" Margin="5,5,5,5">
<Grid.RowDefinitions>
<RowDefinition Height="200"/>
<RowDefinition Height="55"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Background="Orange" Width="300" Padding="10" CornerRadius="20" BorderBrush="Aqua"
x:Class="LayOut.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<Grid x:Name="LayoutRoot" Background="AliceBlue" HorizontalAlignment="Left" Width="Auto" Height="500"
ShowGridLines="True" VerticalAlignment="Top" Margin="5,5,5,5">
<Grid.RowDefinitions>
<RowDefinition Height="200"/>
<RowDefinition Height="55"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Background="Orange" Width="300" Padding="10" CornerRadius="20" BorderBrush="Aqua"
BorderThickness="3" Grid.Row="0"></Border>
<!--
Background:背景颜色
BorderBrush:边框填充颜色
BorderThickness:边框大小
CornerRadius:边框角的半径
Padding:边框与其子对象的距离
-->
</Grid>
<!--
GetColumn/SetColumn:获取/设置Grid.Column的值
GetColumnSpan/SetColumnSpan:获取/设置ColumnSpan的值
GetRow/SetRow:获取/设置Row的值
GetRowSpan/SetRowSpan:获取/设置RowSpan的值
ShowGridLines:显示边界线
-->
</UserControl>
<!--
Background:背景颜色
BorderBrush:边框填充颜色
BorderThickness:边框大小
CornerRadius:边框角的半径
Padding:边框与其子对象的距离
-->
</Grid>
<!--
GetColumn/SetColumn:获取/设置Grid.Column的值
GetColumnSpan/SetColumnSpan:获取/设置ColumnSpan的值
GetRow/SetRow:获取/设置Row的值
GetRowSpan/SetRowSpan:获取/设置RowSpan的值
ShowGridLines:显示边界线
-->
</UserControl>
运行效果:
Sharp.xaml:
<UserControl x:Class="Pic1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<Canvas Width="400" Height="300" Background="AliceBlue" HorizontalAlignment="Left" VerticalAlignment="Top">
<Line X1="10" Y1="10" X2="100" Y2="80" Stroke="Red" StrokeThickness="8" Canvas.Left="10" Canvas.Top="10">
</Line>
<Path Stroke="Black" StrokeThickness="5" Data="M 20,110 C 60,25 200,250,230,120"/>
<!--
Shaped对象:包括Ellipse、Line、Path、Polygon、Polyine和Rectangle。通用属性有:
1.Stroke:绘制形状的轮廓
2.StrokeThickness:形状轮廓的粗细
3.Fill:绘制形状的内部
4.Stretch:设置填充分配空间的值
若在Canvas中使用,可以使用Canvas.Left和Canvas.Top附加属性支持子对象的绝对定位。
路径标记语法:
1.移动命令:大写的M指示startPoint是绝对值;小写的m指示startPoint是相对于上一个点的偏移量。
2.绘制命令:直线命令L endPoint或l endPoint;水平线命令H 90或h 90;垂直线命令V 20或v 20;三次方贝塞尔
曲线命令C controlPoint1 controlPoint2 endPoint,例如C 100,200 200,400 300,200;
二次贝塞尔曲线Q congrolPoint endpPoint,例如Q 100,200 300,200.平滑的三次方贝塞尔曲线
S controlPoint2 endPoint,例如s 100,200 200,300。平滑的二次方贝塞尔曲线命令T controlPoint
endPoint。椭圆弧线命令A size rotationAngle isLargeArcFlay sweepDirectionFlay endPoint,
其中size格式为x,y,弧线的x轴半径和y轴半径,rotationAngle椭圆的旋转度数,isLargeArcFlag
如果弧线的角度应大于或等于180读,则设置为1否则为0,sweepDirectionFlag如果弧线按照正角
方向绘制则设置为1否则为0。
3.关闭命令:终止当前的图形并创建一条连接当前点和图形起点的线(转角),格式为Z
4.点语法:描述点的x坐标和y坐标,格式为x,y
5.特殊值:区分大小,有Infinity正无穷大Double值的,-Infinity负无穷大Double值,NaN
Data:以move命令开头,用M指示
-->
</Canvas>
</UserControl>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<Canvas Width="400" Height="300" Background="AliceBlue" HorizontalAlignment="Left" VerticalAlignment="Top">
<Line X1="10" Y1="10" X2="100" Y2="80" Stroke="Red" StrokeThickness="8" Canvas.Left="10" Canvas.Top="10">
</Line>
<Path Stroke="Black" StrokeThickness="5" Data="M 20,110 C 60,25 200,250,230,120"/>
<!--
Shaped对象:包括Ellipse、Line、Path、Polygon、Polyine和Rectangle。通用属性有:
1.Stroke:绘制形状的轮廓
2.StrokeThickness:形状轮廓的粗细
3.Fill:绘制形状的内部
4.Stretch:设置填充分配空间的值
若在Canvas中使用,可以使用Canvas.Left和Canvas.Top附加属性支持子对象的绝对定位。
路径标记语法:
1.移动命令:大写的M指示startPoint是绝对值;小写的m指示startPoint是相对于上一个点的偏移量。
2.绘制命令:直线命令L endPoint或l endPoint;水平线命令H 90或h 90;垂直线命令V 20或v 20;三次方贝塞尔
曲线命令C controlPoint1 controlPoint2 endPoint,例如C 100,200 200,400 300,200;
二次贝塞尔曲线Q congrolPoint endpPoint,例如Q 100,200 300,200.平滑的三次方贝塞尔曲线
S controlPoint2 endPoint,例如s 100,200 200,300。平滑的二次方贝塞尔曲线命令T controlPoint
endPoint。椭圆弧线命令A size rotationAngle isLargeArcFlay sweepDirectionFlay endPoint,
其中size格式为x,y,弧线的x轴半径和y轴半径,rotationAngle椭圆的旋转度数,isLargeArcFlag
如果弧线的角度应大于或等于180读,则设置为1否则为0,sweepDirectionFlag如果弧线按照正角
方向绘制则设置为1否则为0。
3.关闭命令:终止当前的图形并创建一条连接当前点和图形起点的线(转角),格式为Z
4.点语法:描述点的x坐标和y坐标,格式为x,y
5.特殊值:区分大小,有Infinity正无穷大Double值的,-Infinity负无穷大Double值,NaN
Data:以move命令开头,用M指示
-->
</Canvas>
</UserControl>
运行效果:
Brushes.xaml:
<UserControl x:Class="Brushes.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<Canvas HorizontalAlignment="Left" VerticalAlignment="Top" Width="500" Height="400" Background="Aquamarine">
<Rectangle Width="100" Height="50" Margin="5,5,5,5">
<Rectangle.Fill>
<SolidColorBrush Color="Red"/>
<!--
SolidColorBrush:纯色绘制,Color也可使用十六进制表示法描述
-->
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="150" Height="100" Canvas.Top="65" Canvas.Left="5">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="Yellow" Offset="0.0"/>
<GradientStop Color="Red" Offset="0.25"/>
<GradientStop Color="Blue" Offset="0.65"/>
<GradientStop Color="Green" Offset="1.0"/>
</LinearGradientBrush>
<!--
LinearGradientBrush:线性渐变
渐变轴:渐变轴起以StartPoint,结束以EndPoint。点(0,0)为左上区域,(1,1)为右下区域。
GradientStop:渐变画笔基本构造,Offset设置停止点在渐变轴上的位置。位置是从0到1区间内。
-->
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="150" Height="100" Canvas.Top="65" Canvas.Left="160">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<GradientStop Color="Yellow" Offset="0"/>
<GradientStop Color="Red" Offset="0.25"/>
<GradientStop Color="Blue" Offset="0.75"/>
<GradientStop Color="Green" Offset="1"/>
<!--
RadialGradientBrush:辐射渐变
GradientOrigin 指定径向渐变画笔的渐变轴的起点。 渐变轴从渐变原点辐射至渐变圆。
画笔的渐变圆由其 Center、RadiusX 和 RadiusY 属性定义。
ImageBrush:将图像用作填充、背景或轮廓格式为<ImageBrush ImageSource="" />
-->
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<MediaElement x:Name="me1" Source="2.wmv" IsHitTestVisible="False" IsMuted="True" Opacity="0.0"/>
<TextBlock Canvas.Left="5" Canvas.Top="165" Text="VideoBR"
FontFamily="Verdana" FontSize="80" FontWeight="Bold" TextWrapping="Wrap">
<TextBlock.Foreground>
<VideoBrush SourceName="me1" Stretch="Fill"/>
<!--
SourceName:提供画笔视频的MediaElement的名称
Stretch:视频内容填充绘制区域方式:None、Stretch、Uniform和UniformToFill
MediaElement的Play,Pause,Stop和Position状态的改变也改变VideoBrush的填充状态。
-->
</TextBlock.Foreground>
</TextBlock>
</Canvas>
</UserControl>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<Canvas HorizontalAlignment="Left" VerticalAlignment="Top" Width="500" Height="400" Background="Aquamarine">
<Rectangle Width="100" Height="50" Margin="5,5,5,5">
<Rectangle.Fill>
<SolidColorBrush Color="Red"/>
<!--
SolidColorBrush:纯色绘制,Color也可使用十六进制表示法描述
-->
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="150" Height="100" Canvas.Top="65" Canvas.Left="5">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="Yellow" Offset="0.0"/>
<GradientStop Color="Red" Offset="0.25"/>
<GradientStop Color="Blue" Offset="0.65"/>
<GradientStop Color="Green" Offset="1.0"/>
</LinearGradientBrush>
<!--
LinearGradientBrush:线性渐变
渐变轴:渐变轴起以StartPoint,结束以EndPoint。点(0,0)为左上区域,(1,1)为右下区域。
GradientStop:渐变画笔基本构造,Offset设置停止点在渐变轴上的位置。位置是从0到1区间内。
-->
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="150" Height="100" Canvas.Top="65" Canvas.Left="160">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<GradientStop Color="Yellow" Offset="0"/>
<GradientStop Color="Red" Offset="0.25"/>
<GradientStop Color="Blue" Offset="0.75"/>
<GradientStop Color="Green" Offset="1"/>
<!--
RadialGradientBrush:辐射渐变
GradientOrigin 指定径向渐变画笔的渐变轴的起点。 渐变轴从渐变原点辐射至渐变圆。
画笔的渐变圆由其 Center、RadiusX 和 RadiusY 属性定义。
ImageBrush:将图像用作填充、背景或轮廓格式为<ImageBrush ImageSource="" />
-->
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<MediaElement x:Name="me1" Source="2.wmv" IsHitTestVisible="False" IsMuted="True" Opacity="0.0"/>
<TextBlock Canvas.Left="5" Canvas.Top="165" Text="VideoBR"
FontFamily="Verdana" FontSize="80" FontWeight="Bold" TextWrapping="Wrap">
<TextBlock.Foreground>
<VideoBrush SourceName="me1" Stretch="Fill"/>
<!--
SourceName:提供画笔视频的MediaElement的名称
Stretch:视频内容填充绘制区域方式:None、Stretch、Uniform和UniformToFill
MediaElement的Play,Pause,Stop和Position状态的改变也改变VideoBrush的填充状态。
-->
</TextBlock.Foreground>
</TextBlock>
</Canvas>
</UserControl>
运行效果: