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/p/2718046.html