Blend4介绍: 6大工具组: Toolbar面板 选取工具 放大工具 铅笔、钢笔工具、移动图片工具、抓取颜色工具、填充水桶工具、颜色渐变工具、图形工具、布局控制工具、文本工具与控件 Object和TimeLine面板 Project面板 整合项目管理的工具 Resources面板 刷子面板 颜色资源 透明度 3D objects 新特性:Xaml代码智能感知 后置代
Blend4介绍:
6大工具组:
Toolbar面板
选取工具 放大工具 铅笔、钢笔工具、移动图片工具、抓取颜色工具、填充水桶工具、颜色渐变工具、图形工具、布局控制工具、文本工具与控件
Object和TimeLine面板
Project面板 整合项目管理的工具
Resources面板 刷子面板 颜色资源 透明度
3D objects
新特性:Xaml代码智能感知 后置代码编辑 项目工程模板
布局系统是一个调整对象大小和定位对象的过程。
简单地说,布局是一个递归系统,实现在屏幕上对元素进行大小调整、定位
绘制。布局系统为Children集合的每个成员完成两个处理过程,1.测量处理过程、2.排列处理过程
1.基础布局控件:Grid 、StackPanel、 Canvas 、Border 、Popup 、ScrollViewer、DockPanel等
布局原则:由内而外、下级容器决定上级容器。
2.详解Grid布局原则:
类似table
Grid.Row, Grid.Column
Grid.RowSpan , Grid.ColumnSpan
Grid非常适合做Header、Footer、Sidebar等,定义由行和列的灵活网格区域。
3.详解Canvas布局原则
Canvas.Left Canvas.Right Canvas.Top Canvas.Bottom
最原始的容器控件,对子控件无自动布局功能。
4.StackPanel原则
根据附加属性 、调整子控件的布局。能将子元素排列成一行(可沿水平或者垂直方向)
5.ViewBox可拉伸或者缩放子元素
6.Border在一个子元素的周围绘制边框、背景
7.DockPanel 可将子元素沿其边缘进行定位
8.ScrollViewer使内容显示在比其实际大小的区域中,并适当显示滚动条。
理解Styles和ControlTemplates 理解ResourceDictionaries 理解用户自定义控件 ControlTemplate从Control继承 而Control中有Template属性 定义ControlTemplate有三种方式: 内联定义: ToolTip ToolTip.Template ControlTemplateTargetType=ToolTip /ControlTemplate /ToolTip.Template /ToolTip 资源引用: UserContro
理解Styles和ControlTemplates
理解ResourceDictionaries
理解用户自定义控件
ControlTemplate从Control继承 而Control中有Template属性
定义ControlTemplate有三种方式:
内联定义:
<ToolTip.Template>
<ControlTemplate TargetType=”ToolTip>
………
</ControlTemplate>
</ToolTip.Template>
</ToolTip>
资源引用:
<ControlTemplate x:Key=”tooltip” TargetType=”ToolTip”>
…….
</ControlTemplate>
</UserControl.Resources>
<Grid x:Name=”LayoutRoot” Background=”White”>
<ToolTip>
<ToolTip.Template>
<StaticResources ResourceKey=”toolTip”/>
</ToolTip.Template>
</ToolTip>
</Grid>
样式引用 :(常用方式)
<ControlTemplate x:Key=”tooltip” TargetType=”ToolTip”>
<Setter Property=”Template”>
<Setter.Value>
<ControlTemplate TargetType=”ToolTip”>
</ControlTemplate>
</Setter.Value>
</Setter>
</ControlTemplate>
</UserControl.Resources>
<ToolTip Style=”{StaticResource toolTip}”/>
DataPicker的水印处理
{
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var datePickerTextBox = GetTemplateChild("TextBox") as DatePickerTextBox;
datePickerTextBox.Watermark = "选择日期....";
datePickerTextBox.TextChanged += datePickerTextBox_TextChanged;
}
private void datePickerTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
var datePickerTextBox = GetTemplateChild("TextBox") as DatePickerTextBox;
datePickerTextBox.Watermark = "选择日期...";
}
}
FallbackValue属性:
<TextBlock Text=”{Binding Path=Name, FallbackValue=’无效值’}”/>
当绑定源不存在Name属性时,TextBlock就会显示无效值
<TextBlock Text=”{Binding Path=Data,StringFormat=’Now is \{0:yyyy-M-dd}’}”/>
园子里面看到统一设置样式的文章,感觉没有CSS来的方便,可能是刚入门还没有找到有效方法。<Application.Resources>
<!-- 统一设置按钮样式 TargetType应用的类型 x:Key 名称 -->
<!-- 引用方式: Style=" { StaticResource ButtonStyle }" -->
<Style TargetType="Button" x:Key="ButtonStyle">
<Setter Property="Background" Value="Red"></Setter>
<Setter Property="Height" Value="50"/>
<Setter Property="Width" Value="100"/>
<Setter Property="Margin" Value="10"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="FontSize" Value="16"/>
</Style>
</Application.Resources>
本文来自smodi的博客,原文地址:http://www.cnblogs.com/chenqingwei/archive/2011/02/20/1958881.html