Windows Phone 四、控件模版
Windows Phone中每一个控件都有一个默认的模版,用于描述控件的内部组成结构和外观样式
相对于原本的样式外观操作,自定义模版的可自定义性更强
最基本的重写控件模版
<Grid>
<!--Button按钮居中对齐-->
<Button HorizontalAlignment="Center">
<!--原生控件模版设置的就是Template属性-->
<Button.Template>
<!--控件模版类型-->
<ControlTemplate>
<!--Border本身支持圆角-->
<Border
BorderBrush="White"
BorderThickness="3"
CornerRadius="10,20,10,10">
<TextBlock
Text="Button"
TextAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
BorderBrush 颜色 BorderThickness 边框宽度 CornerRadius 四个圆角的弧度
Text 内容 TextAlignment 水平对齐方式 VerticalAlignment 垂直对齐方式
绑定属性和重用(自定义控件模版)
<Page.Resources>
<!--圆角Button模版-->
<ControlTemplate x:Key="CornerButton" TargetType="Button">
<!--Border本身支持圆角-->
<Border
Background="{TemplateBinding Button.Background}"
BorderBrush="{TemplateBinding Button.BorderBrush}"
BorderThickness="{TemplateBinding Button.BorderThickness}"
CornerRadius="10,20,10,10">
<!--TemplateBinding是用来在模版中绑定当前控件属性-->
<TextBlock
Text="{TemplateBinding Button.Content}"
TextAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
<!--统一所有按钮-->
<Style TargetType="Button">
<Setter Property="Template" Value="{StaticResource CornerButton}"/>
</Style>
</Page.Resources>
<Grid>
<!--圆角Button模版,资源引用-->
<Button
Content="Button"
Background="Aqua"
BorderBrush="HotPink"
BorderThickness="15"
HorizontalAlignment="Center"
Template="{StaticResource CornerButton}">
</Button>
</Grid>
图标按钮展示内容
<Grid>
<Button>
<Button.Content>
<SymbolIcon Symbol="Accept"/>
</Button.Content>
<Button.Template>
<ControlTemplate>
<Border
BorderBrush="White"
BorderThickness="3" CornerRadius="10">
<ContentPresenter/>
</Border>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
Windows Phone 四、控件模版的更多相关文章
- 使用代码浏览WPF控件模版
纯代码创建,不需要创建界面,创建WPF工程后,直接复制代码就可以使用. 当你手头没有Blend,又不记得以下这段代码,但是又想浏览控件模版的时候,就可以直接复制拿来用了. public partial ...
- 背水一战 Windows 10 (37) - 控件(弹出类): MessageDialog, ContentDialog
[源码下载] 背水一战 Windows 10 (37) - 控件(弹出类): MessageDialog, ContentDialog 作者:webabcd 介绍背水一战 Windows 10 之 控 ...
- 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu
[源码下载] 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu 作者:webabcd 介绍背水一战 Windows 10 之 控件(弹 ...
- 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout
[源码下载] 背水一战 Windows 10 (35) - 控件(弹出类): FlyoutBase, Flyout, MenuFlyout 作者:webabcd 介绍背水一战 Windows 10 之 ...
- 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing
[源码下载] 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing 作者:webabcd 介绍背水一 ...
- 背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch
[源码下载] 背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch 作者:webabcd 介绍背水一 ...
- 背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox
[源码下载] 背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(选择类) Sel ...
- 背水一战 Windows 10 (31) - 控件(按钮类): ButtonBase, Button, HyperlinkButton, RepeatButton, ToggleButton, AppBarButton, AppBarToggleButton
[源码下载] 背水一战 Windows 10 (31) - 控件(按钮类): ButtonBase, Button, HyperlinkButton, RepeatButton, ToggleButt ...
- 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox
[源码下载] 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) AutoSug ...
随机推荐
- 跟我一起学JQuery插件开发
http://www.cnblogs.com/Leo_wl/archive/2012/04/06/2435511.html 以前一直比较好奇,jquery插件是怎么开发的,怎么写属于自己的插件? 昨天 ...
- 李洪强iOS经典面试题147-WebView与JS交互
李洪强iOS经典面试题147-WebView与JS交互 WebView与JS交互 iOS中调用HTML 1. 加载网页 NSURL *url = [[NSBundle mainBundle] UR ...
- EasyUI配置和组件
首先在webcontent添加配置文件 新建静态或动态网站,在title的下面加入五个配置文件路径,注意:循序不能乱 <!-- 顺序不可以乱 --> <!-- 1.jQuery的js ...
- ORA-12519: TNS:no appropriate service handler found 解决(转)
可能是数据库上当前的连接数目已经超过了它能够处理的最大值. select count(*) from v$process --当前的连接数 select value from v$parameter ...
- cout中的执行顺序_a++和++a
printf和cout从右到左计算: int main() { /* char* str = NULL; setmemory(&str, 100); strcpy(str, "hel ...
- 一般处理程序如何获取session值
1.要在一般处理程序中获取其他页面的session值,需要引用名空间: using System.Web.SessionState; 2.然后继承一个接口:IRequiresSessionState ...
- jQuery中的事件和动画效果
刚刚学习了jqyery的一些事件和动画,下面我来总结一下: 1.基础事件 1.window事件,它的对应方法是ready(),$(document).ready()方法是事件模块中最重要的一个函数,可 ...
- spring的显示装配bean(1)------通过XML文件装配
1:spring环境的简单搭建 (1)导入spring相关的jar包. 2:准备要进行装配的Java类 这里给出两个举例类 (1) (2) 3:配置XML文件 (1)在配置文件的顶部声明多个XML模式 ...
- T2 Func<in T1,out T2>(T1 arg)
委托调用方法的4种方式. using System; using System.Collections.Generic; namespace ConsoleApplication1 { delegat ...
- php ajax请求和返回
define('NOW_TIME', $_SERVER['REQUEST_TIME']); define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']); d ...