|
|
3#

楼主 |
发表于 2008-8-21 17:32:10
|
只看该作者

导出的XAML内容如下:
Code
<?xml version="1.0" encoding="utf-8"?>
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DrawingBrush x:Key="back" Stretch="Uniform">
<DrawingBrush.Drawing>
<DrawingGroup ClipGeometry="F1 M 0,0L 395.017,0L 395.017,466L 0,466L 0,0">
<DrawingGroup.Children>
<GeometryDrawing Geometry="F1 M 64,5.5L 331.017,5.5">
<GeometryDrawing.Pen>
<Pen Thickness="11" LineJoin="Round" Brush="#08000000"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
<GeometryDrawing Geometry="F1 M 64,122.5L 331.017,122.5">
<GeometryDrawing.Pen>
<Pen Thickness="128" LineJoin="Round" Brush="#06000000"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
<GeometryDrawing Geometry="F1 M 64,428.501L 331.017,428.501">
<GeometryDrawing.Pen>
<Pen Thickness="75" LineJoin="Round" Brush="#06000000"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
<GeometryDrawing Geometry="F1 M 64,275.5L 331.017,275.5">
<GeometryDrawing.Pen>
<Pen Thickness="35" LineJoin="Round" Brush="#0B000000"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</ResourceDictionary>
我们需要给“<DrawingBrush x:Key="back" Stretch="Uniform">”中加入几个属性:ViewportUnits="Absolute" Viewport="0,0,55,145" TileMode="FlipXY"
这些属性控制了图像的填充方式。
现在回到主文档,准备载入这个背景,先将其以资源字典的形式引用:
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="back.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Page.Resources>
然后为Grid加入背景属性设置:
<Grid MinHeight="900" MinWidth="1000" Background="{StaticResource back}">
这样就完成了页面背景样式的设置。
你会发觉页面主体的部分区块与页面背景的边际不够明显:
![]()
我们可以使用伪阴影来突出主体,即通过在页面主题两侧加入两个黑色到透明的渐变,我们通过在Grid中加入两个矩形来实现:
以下为引用的内容:
<Rectangle Width="20" Grid.Column="0" HorizontalAlignment="Right" Margin="0,0,0,0">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="1,0" EndPoint="0,0">
<GradientStop Color="#00000000" Offset="1" />
<GradientStop Color="#20000000" Offset="0" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Width="20" Grid.Column="3" HorizontalAlignment="Left" Margin="0,0,0,0">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="1,0" EndPoint="0,0">
<GradientStop Color="#00000000" Offset="0" />
<GradientStop Color="#20000000" Offset="1" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle> |
|