WPF学习小记

简介: WPF学习小记

WPF通用控制事件

Click:当控件被单击时发生。某些情况下,当用户按下Enter键时也会发生这样的事件。

Drop:当拖曳操作完成时发生,也就是说,当用户将某个对象拖曳dao该控件上,然后松开鼠标时发生

DragEnter:当某个对象被拖曳进入该控件的边缘范围内时发生

DragLeave:当某个对象呗拖曳出该控件的边缘范围外时发生

DragOver:当某个对象呗拖曳到控件上时发生

KeyDown:当该控件具有焦点,并且某个按键被按下时发生。该事件总在KeyPress和KeyUp事件之前发生

KeyUp:当该控件具有焦点,并且某个按键被释放时发生。该事件总在KeyDowm事件后发生

GotFocus:当该控件失去焦点时发生。请勿使用该控件对控件执行验证操作。应该改用Validating和Validated

MouseDoubleClick:当双击该控件时发生

MouseDown:当鼠标指针经过某个控件,鼠标按钮被按下时发生。该事件与Click事件并不相同,因为MouseDown事件在按钮被按下后,在其释放前发生

MouseMove:当鼠标经过控件时持续发生

MouseUp:当鼠标指针经过控件,而鼠标按钮又被释放时发生

Pancel布局控件

Canvas——该控件允许以任何合适的方式放置子控件。它不会对子控件的位置施加任何限制,但不会对位置摆放提供任何辅助。

DockPanel——该控件可以让其中的子控件贴靠到自己四条边中的任意一边。最后一个子控件则可以充满剩余区域。

Grid——该控件让子控件的定位变得比较灵活。可将该控件的布局分为若干行和若干列,这样就可以在网络布局中对齐控件。

StackPanel——该控件能够按照水平方向或者垂直方向依次对子控件进行排列。

WrapPanel——与StackPanel一样,该控件也能够按照水平方向或垂直方向依次对子控件进行排列,但它不是按照一行或一列来排序,而是根据可用空间大小以多行多列的方式排列。

Canvas:

 <Canvas Background="AliceBlue">
        <Rectangle Canvas.Left="50" Canvas.Top="50" Height="40" Width="100"
                   Stroke="Black" Fill="Chocolate"/>
        <Rectangle Canvas.Left="198" Canvas.Top="121" Height="40" Width="100"
                   Stroke="Black" Fill="Bisque"/>
    </Canvas>

DockPanel:

<DockPanel Background="AliceBlue">
        <Border DockPanel.Dock="Top" Padding="10" Margin="5"
                Background="Aquamarine" Height="45">
            <Label>1) DockPanel.Dock="Top"
            </Label>
        </Border>
        <Border DockPanel.Dock="Top" Padding="10" Margin="5"
                Background="PaleGoldenrod" Height="45" Width="200">
            <Label>2) DockPanel.Dock="Top"
            </Label>
        </Border>
        <Border DockPanel.Dock="Left" Padding="10" Margin="5"
                Background="Yellow" Width="200" HorizontalAlignment="Right">
            <Label>3) DockPanel.Dock="Left"
            </Label>
        </Border>
        <Border DockPanel.Dock="Bottom" Padding="10" Margin="5"
                Background="Bisque" Width="200" HorizontalAlignment="Right">
            <Label>4) DockPanel.Dock="Right"
            </Label>
        </Border>
        <Border Padding="10" Margin="5" Background="BlueViolet">
            <Label Foreground="White">5) Last control
            </Label>
        </Border>
    </DockPanel>

StackPanel:

 <StackPanel HorizontalAlignment="Left" Height="128" VerticalAlignment="Top" Width="284"
                    Orientation="Horizontal">
            <Button Content="Button" Height="128" VerticalAlignment="Top" Width="75"/>
            <Button Content="Button" Height="128" VerticalAlignment="Top" Width="75"/>
            <Button Content="Button" Height="128" VerticalAlignment="Top" Width="75"/>
        </StackPanel>
        <StackPanel HorizontalAlignment="Left" Height="128" VerticalAlignment="Top"
                    Width="284" Margin="0,128,0,0" Orientation="Vertical">
            <Button Content="Button" HorizontalAlignment="Left" Width="284"/>
            <Button Content="Button" HorizontalAlignment="Left" Width="284"/>
            <Button Content="Button" HorizontalAlignment="Left" Width="284"/>
        </StackPanel>

WrapPanel:

<WrapPanel Background="AliceBlue">
        <Rectangle Fill="#FF000000" Height="50" Width="50" Stroke="Black"
                   RadiusX="10" RadiusY="10"/>
        <Rectangle Fill="#FF111111" Height="50" Width="50" Stroke="Black"
                   RadiusX="10" RadiusY="10"/>
        <Rectangle Fill="#FF222222" Height="50" Width="50" Stroke="Black"
                   RadiusX="10" RadiusY="10"/>
        <Rectangle Fill="#FFFFFFFF" Height="50" Width="50" Stroke="Black"
                   RadiusX="10" RadiusY="10"/>
    </WrapPanel>


相关文章
|
1月前
|
XML 开发框架 前端开发
WPF学习之基础知识篇
WPF(Windows Presentation Foundation)具有一个复杂且强大的架构,旨在提供丰富的用户界面、图形、动画和多媒体功能。
62 9
WPF学习—INotifyPropertyChanged Interface
WPF学习—INotifyPropertyChanged Interface
WPF学习—INotifyPropertyChanged Interface
|
C# 数据库
WPF学习—控件
WPF学习—控件
WPF学习—控件
|
C# 容器
WPF学习—Margin and Padding
WPF学习—Margin and Padding
WPF Binding学习(二)
  Binding作为数据的桥梁,连通业务逻辑层的对象(源对象)和UI的控件对象(目标对象)。在这座桥梁上,我们不仅可以控制在源对象与目标对象是双向通行还是单向通行。还可以控制数据的放行时机,甚至可以在这座桥上搭建一些关卡用来转换数据类型或者检验数据的正确性    我们先做一个最基本的例子,  ...
1184 0
【STM32 .Net MF开发板学习-28】中文显示(WPF方式)
.NET MF的字体是专门定制的,为Tinyfnt字库,可以通过工具把Windows平台的字体转换为Tinyfnt字体
786 0