微网站建设合同,公司产品设计部门和销售,一个人的网站建设,个人开发什么软件挣钱文章目录 前言知识点windows资源Style:样式Setter:属性继承关系 Trigger:触发器 WPF层级划分数据绑定声明数据上下文绑定数据模板 前言
图标资源下载 iconfont
知识点
windows资源
Window.Resources#xff1a;资源位置声明X:Key#xff1a;资源Id#xff0c;用于前端的… 文章目录 前言知识点windows资源Style:样式Setter:属性继承关系 Trigger:触发器 WPF层级划分数据绑定声明数据上下文绑定数据模板 前言
图标资源下载 iconfont
知识点
windows资源
Window.Resources资源位置声明X:Key资源Id用于前端的xamlX:Name控件Id用于后端的程序标记
Style:样式
简单样例
Window.Resources!--x:Key:资源Id,TargetType:目标控件类型--Style x:KeyDefaultText TargetTypeTextBlock!--Setter 设置属性--Setter PropertyFontSizeValue50 //Style
/Window.ResourcesSetter:属性
用于设置控件属性
可以直接写也可以在Style.Setters里面写
Style x:KeyDefaultText TargetTypeTextBlock!--Setter 设置属性--Setter PropertyFontSizeValue50 /
/StyleStyle x:KeyDefaultText TargetTypeTextBlock!--Setter 设置属性--Style.SettersSetter PropertyFontSizeValue50 //Style.Setters
/Style使用属性使用Style“{StaticResource 样式名}”
TextBlock Text文字 Style{StaticResource DefaultText} /继承关系
一个控件只能有一个Style使用 BasedOn“{StaticResource 样式}”继承为覆盖关系。重复设置的属性以最后的为主行内样式Style样式Style继承样式
Trigger:触发器
但满足一个条件时动态触发对属性进行修改
!--x:Key:资源Id,TargetType:目标控件类型--
Style x:KeyDefaultText TargetTypeTextBlock!--Setter 设置属性--Style.SettersSetter PropertyFontSize Value60 /Setter PropertyForeground ValueGreen //Style.Setters!--触发器设置--Style.Triggers!--IsMouseOver 即 鼠标悬停时触发--Trigger PropertyIsMouseOver ValueTrueSetter PropertyFontSize Value100/Setter PropertyForeground ValueRed/Setter PropertyFontWeight ValueBold//Trigger/Style.Triggers
/StyleProperty是触发属性Value是值。即Propertyvalue的时候触发
Trigger PropertyIsMouseOver ValueTrue常用的触发属性
IsMouseOver鼠标悬停
WPF层级划分 数据绑定 声明数据上下文
命名规范。默认为xxxViewModel声明ViewModel类。所有绑定属性为public在View里面实例化
事例
namespace WpfApp2
{/// summary/// Interaction logic for MainWindow.xaml/// /summarypublic partial class MainWindow : Window{private MainWindowViewModel ViewModel { get; set; }public MainWindow(){ViewModel new MainWindowViewModel();this.DataContext ViewModel;InitializeComponent();}}public class MainWindowViewModel{public string Title { get; set; }public Person Person { get; set; }public ListPerson Persons { get; set; }public MainWindowViewModel(){Title 我是标题;Person new Person(){Name 小刘,Age 26};Persons new ListPerson {new Person(){Name 小明,Age 26},new Person(){Name 小红,Age 26},new Person(){Name 小兰,Age 26},};}}public class Person{public string Name { get; set; }public int Age { get; set; }}
}
绑定
绑定使用{Binding value}的形式
!--字符串绑定Title是DataContext的属性--
TextBlock Text{Binding Title} FontSize50 /!--类绑定--
UniformGrid Columns2DataContext{Binding Person}!--多层板Bind调用--TextBlock Text{Binding Name}FontSize50 /TextBlock Text{Binding Age}FontSize50 //UniformGrid
数据模板
用于绑定集合类型的数据
!--数据模板,ItemsSorece绑定集合数据源--ItemsControl ItemsSource{Binding Persons}!--排版布局-- ItemsControl.ItemsPanelItemsPanelTemplateStackPanel //ItemsPanelTemplate/ItemsControl.ItemsPanel!--内容--ItemsControl.ItemTemplateDataTemplate!--UniformGrid--UniformGrid Columns2!--多层板Bind调用--TextBlock Text{Binding Name}FontSize50 /TextBlock Text{Binding Age}FontSize50 //UniformGrid/DataTemplate/ItemsControl.ItemTemplate/ItemsControl