windows phone (21) Grid元素的Background和Clip

简介:

 

Grid是唯一可以在内部定制单元格的panel类,我们可以在grid中定制单元格,然后通过grid.row和grid.column定位grid包含的元素在哪个位置,功能比较强大,用到的时候比较多,且看他的属性:【作者:神舟龙

 

Background

 

获取或设置一个用于填充面板的 Brush所以我们可以对其背景进行绘制 ,比如下面的案例:

 
 
  1. <!--ContentPanel - 在此处放置其他内容--> 
  2.        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" 
  3.              
  4.              > 
  5.            <Grid.Background> 
  6.                <RadialGradientBrush> 
  7.                    <GradientStop Offset="0.9" Color="DarkBlue"></GradientStop> 
  8.                    <GradientStop Offset="0.8" Color="Firebrick"></GradientStop> 
  9.                </RadialGradientBrush> 
  10.            </Grid.Background> 
  11.        </Grid> 

它的显示效果:

 

 Clip

 

 

获取或设置用于定义Grid的内容边框的 Geometry,下面的效果是实现的类似于天狗吃月最后一刻的效果

xaml代码:

 


 
 
  1. <!--ContentPanel - 在此处放置其他内容--> 
  2.         <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" 
  3.               > 
  4.             <Grid.Background> 
  5.                 <RadialGradientBrush> 
  6.                     <GradientStop Offset="0.9" Color="White"></GradientStop> 
  7.                     <GradientStop Offset="0.8" Color="Black"></GradientStop> 
  8.                 </RadialGradientBrush> 
  9.             </Grid.Background> 
  10.             <Grid.Clip> 
  11.                 <EllipseGeometry Center="240 250" RadiusX="180" RadiusY="190"></EllipseGeometry> 
  12.             </Grid.Clip> 
  13.         </Grid> 

效果:

 

 话说这样的效果还不错,只不过他不能通过修改参数实现天狗吃月的全过程,上面出现的效果是无意中做出了的;

Geometry 类

 

为用于定义几何形状的对象提供基类,所以EllipseGeometry,GeometryGroup等所继承它的类都可以,比如我们使用RectangelGeoMetry获取矩形剪辑区域

 

xaml代码:


 
 
  1. <!--ContentPanel - 在此处放置其他内容--> 
  2.        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" 
  3.              > 
  4.            <Grid.Background> 
  5.                <RadialGradientBrush> 
  6.                    <GradientStop Offset="0.1" Color="Purple"></GradientStop> 
  7.                    <GradientStop Offset="0.2" Color="Blue"></GradientStop> 
  8.                </RadialGradientBrush> 
  9.            </Grid.Background> 
  10.            <Grid.Clip> 
  11.                <RectangleGeometry > 
  12.                    <RectangleGeometry.Rect> 
  13.                        <Rect X="20" Y="30" Width="300" Height="400"></Rect> 
  14.                    </RectangleGeometry.Rect> 
  15.                </RectangleGeometry> 
  16.            </Grid.Clip> 
  17.        </Grid> 

效果:

 

 

我们可以从隐藏文件添加一些其他的元素:

 


 
 
  1. // 构造函数 
  2.         public MainPage() 
  3.         { 
  4.             InitializeComponent(); 
  5.             LayoutDesign(); 
  6.         } 
  7.         private void LayoutDesign() 
  8.         { 
  9.  
  10.             TextBlock DeptListHeading = new TextBlock(); 
  11.             DeptListHeading.Text = "Department"
  12.  
  13.             ListBox DeptList = new ListBox(); 
  14.             DeptList.Items.Add("Finance"); 
  15.             DeptList.Items.Add("Marketing"); 
  16.             DeptList.Items.Add("Human Resources"); 
  17.             DeptList.Items.Add("Payroll"); 
  18.             DeptList.Items.Add(DeptListHeading); 
  19.              
  20.               this.ContentPanel.Children.Add(DeptList); 
  21.  
  22.             
  23.         } 

 效果:

 

 这篇比较基础

 

 

 本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/844643,如需转载请自行联系原作者

相关文章
|
Android开发 iOS开发 Windows
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
不久前,随着最后一家WP手机厂商惠普宣布取消今后Windows Phone的研发计划,以及微软官方声明对WP8.1系统今后所有升级维护的终止,WP手机,作为曾经和安卓手机、苹果手机并驾齐驱的三大智能手机之一,正式寿终正寝。
1476 0
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
|
XML 开发框架 前端开发
Windows Phone快速入门需掌握哪些能力
在此之前,先普及下Windows Phone的概念和开发工具的介绍。 Windows Phone是微软公司开发的手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。2012年6月21日,微软正式发布Windows Phone 8,采用和Windows 8相同的Windows NT内核,同时也针对市场的Windows Phone 7.5发布Windows Phone 7.8。
172 0
Windows Phone快速入门需掌握哪些能力
|
移动开发 Android开发 开发者
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
在Build 2014大会上,微软正式发布了传闻已久的Windows Phone 8.1系统,所有的Windows Phone 8手机都可以升级,微软这次可谓是十分厚道。虽然并非迭代升级,但WP 8.1还是拥有很多重大更新,对于微软进一步完善移动平台拥有积极的意义。下面,就一起来了解一下WP 8.1的主要新特性。
267 0
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
|
编解码 前端开发 JavaScript
Windows Phone 下开发 LBS 应用
基于位置的服务(Location Based Service,LBS),它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。
205 0
|
Windows
背水一战 Windows 10 (71) - 控件(控件基类): UIElement - RenderTransform(2D变换), Clip(剪裁)
原文:背水一战 Windows 10 (71) - 控件(控件基类): UIElement - RenderTransform(2D变换), Clip(剪裁) [源码下载] 背水一战 Windows 10 (71) - 控件(控件基类): UIElement - RenderTransform(2...
1252 0
|
Windows
背水一战 Windows 10 (76) - 控件(控件基类): Control - 基础知识, 焦点相关, 运行时获取 ControlTemplate 和 DataTemplate 中的元素
原文:背水一战 Windows 10 (76) - 控件(控件基类): Control - 基础知识, 焦点相关, 运行时获取 ControlTemplate 和 DataTemplate 中的元素 [源码下载] 背水一战 Windows 10 (76) - 控件(控件基类): Control -...
1143 0