Silverlight基础

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>

    < ToolTip.Template>

        < ControlTemplate TargetType=”ToolTip>

             ………

        < /ControlTemplate>

    < /ToolTip.Template>

< /ToolTip>

  资源引用:

< UserControl.Resources>

< 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>

  样式引用 :(常用方式)

< UserControl.Resources> 

< 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  class MyDatePicker : DatePicker 
    { 
         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


 

转载于:https://www.cnblogs.com/yike1479/archive/2012/10/10/2718046.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值