欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > WPF项目实战视频《一》(主要为WPF基础知识)

WPF项目实战视频《一》(主要为WPF基础知识)

2024/10/24 7:24:31 来源:https://blog.csdn.net/xy_77777/article/details/140144578  浏览:    关键词:WPF项目实战视频《一》(主要为WPF基础知识)

1.WPF布局:
Grid,stackPanel,wrapPanel,DockPanel,UniformGrid
Grid 按行列布局,
Grid.ColumnDefinitions列,Grid.RowDefinitions行
Grid.Row=“0” Grid.Column=“0”
stackPanel 默认从上往下排列
wrapPanel 默认水平排列
DockPanel 可拖拽
UniformGrid 也有行列区分:在有限的空间内均分剩余的空间
orientation 按行排列
Border装饰控件

2.wpf样式基础(Style:属性):修饰WPF的外观和行为
资源样式resources
Style 中x:key=“ButtonStyle"为给该属性命名,TargetType=“Button"为属性生效的控件类型,然后setter property声明属性 value给声明的属性赋值。BaseOn可设置继承的样式类型
在需要使用该属性的控件中,加上Style=”{StaticResource ButtonStyle}”

3.WPF控件模板:ControlTemplate
定义外观,可以根据模板去生成默认的样式

4.WPF数据模板:DataTemplate
定义数据可视化的结构
创建列表类型的控件:ListBox
以往会根据定义的控件名字,在代码中从控件名字中进行操作

5.WPF绑定
数据发生改变时,不需要操作控件(之前的办法),绑定之后控件自动发生改变

//slider 为Slider 控件x:name="slider"命名的,
<TextBox Text="{Binding ElementName=slider ,Path=Value}"	...>还可以用mode区分绑定模式,单向绑定和双向绑定

6.WPF命令(ICommad)
直接创建另外一个类处理MyCommand继承自ICommand
再再mainWiewModel中使用MyCommand完成业务功能接口

//ShowCommand为mainWiewModel中的实现的业务功能接口
<Button Command="{Binding ShowCommand}" />

8.通知更新
解决在初始化赋值外,在业务功能中将数据进行修改页面不会进行对应修改的问题。

自己创建一个类ViewModelBase,继承自iNotifyPropertyChanged,实现对应的接口
让mainWiewModel继承自ViewModelBase

//先创建
public event PropertyChangedEventHandler PropertyChanged;
private void RaiseProChanged(string propertyName)
{PropertyChangedEventHandler handler = PropertyChanged;if (handler != null){handler(this, new PropertyChangedEventArgs(propertyName));}
}private string name;
public string Name
{get{ return name;}set { name = value;]RaiseProChanged("Name");
}

9.WPF框架:MvvmLight 为一个框架包
例如通知等功能,能有别人封装好的包 有更多的功能接口 使用更方便

10.WPF框架:MicrosoftToolkitMVVM (基于MvvmLight 的扩展,有性能上的一些提升)
继承的类名,函数名字进行对应修改
MicrosoftToolkitMVVM git地址

11.WPF绑定绑定性总结

12.资源基础(资源字典)

<window.Resourse><solidColorBrush  x:Key="SolidColor" Color="Red" />
</window.Resourse>//使用时:
<Button  BorderBrush="{StaticResource SolidColor}"		//但是为静态加载仅加载一次后续更改不会更新,不会更改的情况使用<Button  BorderBrush="{DynamicResource SolidColor}"		//动态加载

如果有很多资源那需要添加资源字典的文件,把资源全添加到里面去

13.动画基础(省略没看)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com