WPF部分总结ItemsControl,Thumb,画图,动画

常用数据显示ItemsControl:
    都继承自                                    ItemsControl  
    数据源都是                                ItemsSource 
    内容集合                                    Items 
    显示每个项的DataTemplate  ItemTemplate
    控制项的布局面板                    ItemsPanel
    为每一项设置style                    ItemContainerStyle

        ListBox              ListBoxItem
        ListView            ListViewItem          View  GridView GridViewColumn 自定义列
        TreeView          TreeViewItem         HierarchicalDataTemplate的ItemsSource用于多层集合显示
        TabControl       TabItem            
        ComboBox       ComboBoxItem
        ContextMenu    MenuItem
        DataGrid                                            Columns所有列 ItemsSource会自动显示string bool enum uri属性

Thumb 拖动控件 常和Canvas一起使用
      事件DragDelta就是拖动的时候引发的
         DragDeltaEventArgs e.HorizontalChange  e.VerticalChange就是水平垂直方向拖动的距离

注:1.当一个控件没有设置Width属性的时候,它的Width的值为NaN
    2.一个NaN和一个确定值相加,结果为NaN

画图:类及常用属性
    Line              Stroke
    Rectangle   Stroke Fill
    Ellipse         Stroke Width Height
    Polygon
    Polyline

    Path             Stroke Data---Geometry       EllipseGeometry   LineGeometry  PathGeometry  RectangleGeometry   StreamGeometry

    注:StreamGeometry定义几何形状,并使用StreamGeometryContext描述,是PathGeometry的轻量级替代图形,DynamicDataDisplay里面就是用的这个类

            PathGeometry   通过ArcSegment  BezierSegment LineSegment  PolyBezierSegment PolyLineSegment  PolyQuadraticBezierSegment  QuadraticBezierSegment合成图形


变形:
    RenderTransform 呈现变形
    LayoutTransform 布局变形
    
    MatrixTransform 矩阵变形
    RotateTransform 旋转变形
    ScaleTransform  坐标系变形
    SkewTransform   拉伸变形
    TranslateTransform 偏移变形
    TransformGroup   变形组

动画:
    各种动画派生类--->AnimationTimeline--->Timeline
    Storyboard    --->TimelineGroup    --->Timeline
    
    简单独立动画
        DoubleAnimation  Duration To By From


    关键帧动画
        DoubleAnimationUsingKeyFrames KeyFrames
    
    场景
        Storyboard  SetTargetName  SetTargetProperty  Children.Add()

    c#代码运行:
         btn.BeginAnimation(Button.HeightProperty, doubleAnimation)
         storyboard.Begin(this)

    一般不会用C#来做动画,都是通过xaml来做动画,放入一个Storyboard中
    通过Trigger和EventTrigger BeginStoryboard来开始动画

请注意:在元素上建立的触发器的集合只支持EventTrigger,而不支持属性触发器(Trigger)。
        如果要使用属性触发器,则必须将这些触发器放在样式或模板,然后通过Style属性直接的或通过隐式样式引用间接地将其分配给元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值