WPF基础知识

WPF布局基础原则

复制代码
1.一个窗口中只能包含一个元素
2. 不应该显示设置元素尺寸
3. 不应使用坐标设置元素的位置
4.可以嵌套布局容器

WPF布局容器

  • StackPanel:水平或垂直排列元素,Orientation属性分别为:Horizontal/Vertical
  • WrapPanel:水平或垂直排列元素、针对剩余空间不足会进行换行或换列进行排列。
  • DockPanel:根据容器的边界、元素进行Dock.Top(Left、Right、Bottom)设置 默认情况最后一个元素会填充满 LastChildFill="False"
  • Grid:类似Table表格,可以灵活设置行列并且放置控件元素(最常用的)
  • UniformGrid:指定行和列的数量,均分有限的容器空间。
  • Canvas:使用固定的坐标设置元素的位置,不具备停靠等功能。

WPF样式:TargetType:样式所指定的类型

Foreground:字体颜色

FontSize:字体大小

FontFamily:字体

Background:背景颜色

margin边距

CornerRadius:圆角矩形

HorizontalAlignment:水平位置

VerticalAlignment:垂直位置
触发器的使用

1:使用场景:例如当鼠标碰到按钮时候字号为30,字体颜色为红色,当鼠标为碰到按钮时候字号为20 ,字体颜色为蓝色;

csharp 复制代码
  <Style x:Key="MM" TargetType="Button">
            <Setter Property="Width" Value="300"/>
            <Setter Property="Height" Value="48"/>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="Red"/>
                    <Setter Property="FontSize" Value="30"/>
                </Trigger>
                <Trigger Property="IsMouseOver" Value="False">
                    <Setter Property="Foreground" Value="Blue"/>
                    <Setter Property="FontSize" Value="20"/>
                </Trigger>
            </Style.Triggers>
        </Style>

多条件触发器的使用

csharp 复制代码
<Style x:Key="MM" TargetType="Button">
            <Setter Property="Width" Value="300"/>
            <Setter Property="Height" Value="48"/>
            <Style.Triggers>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="IsMouseOver" Value="True"/>
                        <Condition Property="IsFocused" Value="True"/>
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <Setter Property="Foreground" Value="Red"/>
                    </MultiTrigger.Setters>
                </MultiTrigger>
            </Style.Triggers>
        </Style>

事件触发器

自定义控件模板

Cell Template数据模板

引用样式的方法:

StaticResource:静态的

DynamicResource动态的

相关推荐
code bean1 天前
【WPF】WPF 自定义控件之依赖属性
wpf
上元星如雨1 天前
WPF 加载和显示 GIF 图片的完整指南
wpf
微小冷2 天前
WPF中ListView控件详解
c#·wpf·数据绑定·listview·bingding
专注VB编程开发20年3 天前
WPF,Winform,HTML5网页,哪个UI开发速度最快?
大数据·c#·wpf
YANQ6623 天前
3.1 WPF画折线图、直方图、饼状图
wpf
上元星如雨3 天前
WPF demo:全屏加载界面
wpf
深漂阿碉3 天前
WPF自定义日历选择控件
wpf
六点的晨曦3 天前
WPF的三轴机械手控件动画
wpf
军训猫猫头3 天前
5.浏览本地文件获取路径与文件名称 C#例子 WPF例子
开发语言·c#·wpf
步、步、为营4 天前
.NET + WPF框架开发聊天、网盘、信息发布、视频播放功能
.net·wpf·音视频