CPF 入门教程 - 样式和动画(三)】的更多相关文章

CPF NetCore跨平台UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) 用样式可以对内部元素进行批量设置属性. CPF里采用CSS作为样式描述.为什么用css描述样式?因为css结构简单明了. Xaml和CSS的简单对比 <Style TagetType="Button"> <Setter Property="Background" value="Re…
CPF NetCore跨平台UI框架,增加了Vlc支持跨平台播放视频. 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) 一般来说是不需要自己写绘图代码的,大部分UI效果通过控件元素(CPF.Shapes提供基础图形控件)组合和SVG组合就可以实现. 如果需要自定义控件绘制特殊的控件,可以继承Control或者UIElement重写OnRender方法来绘制自己需要的效果.调用 Invali…
CPF netcore跨平台桌面UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门教程 - 设计器和模板库的使用(五) CPF 入门教程 - 控件布局(六) 布局流程和WPF差不多,先Measure再Arrange,如果自定义布局容器,可以参考WPF的代码 元素布局,支持百分比布局,margin调整定位,默认居中.相当于CSS里中的绝对定义position: absol…
CPF netcore跨平台UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门教程 - 设计器和模板库的使用(五) CPF 入门教程 - 控件布局(六) 注意:免费模式里无法使用这些功能. 先打开一个CPF设计视图,右键可以看到模板库选项. 其中模板库里有控件组和控件模板两种类型. 控件组:由Panel包裹的一组控件,并且Panel的IsGroup属性为true.这个时…
CPF C#跨平台桌面UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门教程 - 设计器和模板库的使用(五) CPF 入门教程 - 控件布局(六) CPF 入门教程 - 属性和事件(七) 依赖属性 CpfObject相当于WPF里的DependencyObject依赖对象.继承该类的对象,所有属性默认都是依赖属性 依赖属性有什么用?支持属性变化通知,数据绑定,触发器,动…
CPF C#跨平台桌面UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门教程 - 设计器和模板库的使用(五) CPF 入门教程 - 控件布局(六) CPF 入门教程 - 属性和事件(七) CPF 入门教程 - 各个控件介绍(八) 大部分控件和WPF对应的,用法大部分可以参考WPF 注意线程安全问题,大部分控件的依赖属性是可以支持线程访问的,但是如果是集合类型的,对集合添…
CPF C#跨平台桌面UI框架,支持Windows,Mac,Linux,支持龙芯.飞腾等CPU 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门教程 - 设计器和模板库的使用(五) CPF 入门教程 - 控件布局(六) CPF 入门教程 - 属性和事件(七) CPF 入门教程 - 各个控件介绍(八) CPF 入门教程 - 各平台各系统发布说明(九) 一般建议根据发布平台的注释掉…
CPF netcore跨平台UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) 数据绑定和Wpf类似,支持双向绑定.数据绑定和命令绑定是UI和业务逻辑分离的基础. 首先,你需要定义个MainModel,为了可以有属性通知,这个类可以继承CpfObject或者自己实现INotifyPropertyChanged public class MainModel : CpfObject { [PropertyMetadata("默认值")] public…
发布/订阅 在上篇第二部分教程中,我们搭建了一个工作队列.每个任务之分发给一个工作者(worker).在本篇教程中,我们要做的之前完全不一样——分发一个消息给多个消费者(consumers).这种模式被称为“发布/订阅”. 为了描述这种模式,我们将会构建一个简单的日志系统.它包括两个程序——第一个程序负责发送日志消息,第二个程序负责获取消息并输出内容. 在我们的这个日志系统中,所有正在运行的接收方程序都会接受消息.我们用其中一个接收者(receiver)把日志写入硬盘中,另外一个接受者(rece…
发布/订阅 在上篇教程中,我们搭建了一个工作队列.每个任务之分发给一个工作者(worker).在本篇教程中,我们要做的之前完全不一样——分发一个消息给多个消费者(consumers).这种模式被称为“发布/订阅”. 为了描述这种模式,我们将会构建一个简单的日志系统.它包括两个程序——第一个程序负责发送日志消息,第二个程序负责获取消息并输出内容. 在我们的这个日志系统中,所有正在运行的接收方程序都会接受消息.我们用其中一个接收者(receiver)把日志写入硬盘中,另外一个接受者(receiver…