自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 Visual stdio2022选中翻译插件

官网插件

2022-06-19 00:09:46 8309 3

原创 prism-发布订阅

prism中还有一个发布订阅的功能首先创建一个文件夹Event创建一个类继承于PubSunbEvent通过构造函数注入 IEventAggregator aggregator这个接口 主要用来订阅事件 发布:在取消按钮这里加入 再在ViewC当中去订阅这个 基于PubSubEvent可以实现诸多方法...

2022-06-18 19:37:21 905

原创 Prism-对话服务

当我们点击某些按钮 弹出弹窗 有某些我们想要的功能进行选择 这就是基本的对话服务示例如下新增一个用户控件ViewC简单设计了一个弹窗然后在ModelAProfile类里注册弹窗 把之前用的regionManager区域管理器两行代码删掉还有他的方法在ViewModels里面使用prism中的对话服务IDialog service 然后创建字段 接收这个参数 在ViewModel里面创建ViewCViewModel创建一个继承于IDialogAware的类 然后实现这个接口的方法

2022-06-18 16:40:43 618

原创 Pirsm-导航功能

导航请求,就类似于我们的浏览器,比如说打开了什么,然后我要从这个页面跳转到另外一个页面,有可能就需要你来确认一下是否跳转,撤销等等的导航功能RequestNavigate 导航请求像这个就是用RegisterForNavigation这个容器来注册然后导航到ViewA这个页面现在开始进行一个基本的操作流程此时这个构造函数与Views还没有关联,也就是还没有自动匹配上下文使用prism功能来匹配就得 声明使用prism的地址,然后再设置为自动查找匹配命名前缀必须是View这样就绑定成功了,运

2022-06-13 01:00:35 684

原创 Prism框架初识-模块化介绍

实际工作中我们会把功能分为多个模块进行开发为了软件可以实现容易维护,测试,并且足够灵活,所以便出现了洋葱架构,用于开发任何软件都是种不错的选择代码依赖是从外向内的,内环中的代码不应该知道外环中的任何东西。外层依赖内层,内层对外层无感知2008 年 Jeffrey Palermo 提出了洋葱架构洋葱架构的关键原则:—— Jeffrey Palermo 2008, The Onion Architecture: part 3 创建两个新的项目,然后属性-更改WPF应用程序为类库 给两个类库里分别添加View

2022-06-11 21:29:03 757

原创 Prism框架初识-区域介绍

首先,我们要添加Prism框架包这个框架包里包含了区域,导航,会话服务,容器。我使用的是vs2022 -解决方案-引用-管理NuGet程序包-搜索Prism.DryIoc,下载即可然后我们需要引用这个框架包,很明显我们每次都要去手动修改就很麻烦,所以下载好之后在扩展里面搜索Prism的拓展包进行安装然后关闭vs安装 安装完毕后创建新项目 就可以看到以Prism为模板的选项了 创建新项目侯给了两个选项 一个Dryloc 一个Unity选择默认就好了比如说创建三个按钮 然后想通过每个按钮按下时显示不同的画面

2022-06-05 22:15:58 389

原创 WPF图表选用(搬运)

<<Live Charts>>首先安装包解决方案-管理nu-get管理搜索LiveCharts.Wpf安装然后界面添加引用xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"在后端代码也添加命名空间using LiveCharts;using LiveCharts.Wpf;一一个呈线性变化,实时更新第一个则呈直线性展示xaml界面代码...

2022-05-30 10:46:44 442 1

原创 WPF动画基础-

Animation 动画Click 事件创建.From 设置初始值 .To 设置结束值FromSeconds() 设置动画持续时间Forever 无数次动作首先声明动画的命名空间using System.Windows.Media.Animation;然后画一个按钮 在按钮的事件里面添加动画改编<Button x:Name="btu" Background="red" Margin="10...

2022-05-27 22:03:35 519

原创 WPF-资源基础

静态资源:有动作也不会改变原本的状态(StaticResource SolidColor)动态资源:可以根据相应的动作来变换姿态(DynamicResource SolidColor)资源字典:资源字典中的资源要添加到界面当中,在App里面添加<SolidcolorBrush x:key = "SolidColor" Color ="red"/><Style x :key = "DefaultButtonStyle" TargetType = "Button">&l

2022-05-24 01:03:35 87

原创 WPF789

WPF通知更改(INotifyPropertyChanged)通知更改时可创建一个类,继承接口来实现public class ViewModelBase : INotifyPropertyChanged{ public event PropertyChangedEventHandler PropertyChanged; public void OnPropertyChanged([CallermemberName] string PropertyName = "" )

2022-05-06 20:33:53 122

原创 WPF项目456

WPF数据模板Data Template 数据模板x:Name 设置名字Stackpanel 容器 <Grid> <DataGrid x:Name="grid" AutoGenerateColumns="False" CanUserAddRows="False"> <DataGrid.Columns> <DataGridTextColumn Header="Code" Bind

2022-04-05 16:31:20 227

原创 WPF123

WPF布局基础 <Grid> <Grid.RowDefinitions> <RowDefinition Height="100"/> <RowDefinition /> </Grid.RowDefinitions> <Border Background="blue"/> <Grid Grid.Row="

2022-04-04 14:47:06 71

原创 C#-属性

属性一般是一个或者两个代码块,分别是“get” 或 “set”或者两者同时存在,get:当读取属性时,set:当向一个属性赋一个新的值的时候,同时存在意思就是当前这个属性可读可写public class Program { private string Name;//私有的字段,外部不能进行直接读写,但是可以通过属性读写 public string name//访问级别-属性类型-属性名称 { get { return..

2022-03-20 16:24:55 368

原创 C#-Event事件

发布者:通知某件事情发生-(发布了博客)订阅者:关注发布者发布的事件-(关注了博客)事件触发和注册事件发生时,会通知所有关注该事件的订阅者(发布了一条新的博客)想在事件发布时被通知,必须注册表示工作(关注的博客有新的动态)...

2022-03-11 15:38:15 447

原创 C#-接口

接口就是指定一组函数成员,而不实现他们的引用类型。如何定义一个接口一般来说接口名称首字母都是大写Iinterface ICatchMice { void CatchMice();//默认public,但不能添加任何访问修饰符 }接口只能用来被实现就像抽象类只能被继承语法很像继承Cat:IcatchMice{public void CatchMice(){....};//必须有实现}这是基本的一整段 ...

2022-03-06 17:47:29 188

原创 C#-委托

委托就是持有一个或者多个方法的对象,并且该对象可以执行,可以传递。声明委托类型delegate void ActCute(); //或者delegate int(这里都是设定的返回类型,都可以) ActDute();创建了一个叫ActCute的委托既然是种类型,就可以定义该类型的对象,持有方法,方法返回void类型例如:ActCute(委托类型) cat;(变量) ActCute actcute;使用委托类型像调用函数一样使用委托类型actcute();

2022-03-05 21:42:16 267

原创 C#-Lambda表达式

匿名方法delegate void ActCute();ActCute del;del = delegate(){}Lambada表达式del = delegate(){...};lambada表达式del = ()=>{...};比如我要加入一个无名的Lambada表达式ActCute del = null; Dog dog = new Dog("A"); Cat cat = new Cat("B"); del = .

2022-03-05 14:14:37 248

原创 C#ref和out参数

//ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,//在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,//则方法定义和调用方法都必须显式使用 ref 关键字。也即是说,在方法中对参数的设置和改变将会直接影响函数调用之处。using System;class Program{ public static void Main() { Program max = new Program(); int y.

2022-02-17 19:44:35 154

原创 C#-派生类及构造函数

子类对象中,有一部分时基类部分,在执行子类的构造函数之前,将会隐式或者显示的调用父类构造函数using System;class MyDerived : MyBase { int field1 = 1;//第一,实例成员初始化 MyDerived() { }//第三,子类构造函数 //这里会隐式的调用,显示的调用时MyDerived():base()}class MyBase{ public MyBase(){}//第二,父类构造函数}...

2022-02-13 20:28:48 746

原创 C#-继承-隐藏方法

我们不能删除父类中的任何成员,但是可以用与父类成员名称相同的成员来屏蔽父类成员语法细节:屏蔽数据成员-在子类中声明名称和类型相同的成员 屏蔽函数成员:在子类中声明新的带有相同函数签名的成员 让编译器知道:加new关键字,否则会报警例如,下面是父类的字段和方法lass Pet{ public string Name; public void PrintName() { Console.WriteLine("Pet name is " + Name)

2022-02-13 18:56:18 827

原创 C#-继承-多态-VIRTUAL虚方法(下)

创建一个方法,然后参数是我们的父类Animal(传进去的时候要传父类,否则后面要是把父类传进去,调用的时候子类有的特性父类不一定有)public static void Display(Animal animal){ System.Console.WriteLine(animal.Name);}然后调用的时候,dog和cat都是Animal的子类,new两个对象dog peachas = new dog(); cat egg = new cat(); 我们调用

2022-02-11 19:58:53 453

原创 C#-class-继承和多态(上)

当声明一个类的时候,可以在括号后面加上画括弧即可对类中的公 有变量以及可写属性进行快速赋值。这种情况可以将小圆括号去除 除此方法之外还可以调用构造函数进行赋值。 MathTeacher myMathTeacher = new MathTeacher() { i=10,j=20,Number=200};...

2022-02-10 21:23:34 597

原创 C#学习记录P8class-字段与方法

字段可以可选初始化 未初始化的字段有一个默认值 null 字段的初始化在运行构造函数前进行方法创建方法时,签名不要重复单个表达式int Foo(int x) { return x * 2; }//这三个都是单个表格式的表达方法 int Bar(int x) => x * 3; void Caz(int x) => Console.WriteLine(x); 也可以看参数的传递方法来区别按值传递的void Caz(int x) {...

2022-01-29 21:26:05 453

原创 C#P8-class-构造函数

静态构造函数,每个类型执行一次 非静态构造函数,每个实例执行一次 一个类型只能构建一个静态函数 必须无参数 方法名与类型一致类可以是静态的,其成员也必须全是静态的例如system.Console system.Math...

2022-01-24 20:15:29 200

原创 C#基本语句,关键字与存储笔记

数据类型存储双雄:栈和堆栈:后进先出栈存储几种类型的数据:某些类型变量的值(主要是值类型);程序当前的执行环境;传递给方法的参数;数据只能从栈顶插入和删除;将数据放到栈顶叫做入栈;将数据从栈顶移除叫做出栈;堆能够任意的插入或删除在堆里可以分配大块的内存用于存储某类型(主要是引用类型)的数据对象;堆中的数据不能显示地删除,CLR中的自动GC(Garbage Collector,垃圾收集器)会自动清除无主(判断程序代码是否将不再访问某数据项的时候)的堆内存对象。.

2022-01-19 13:47:47 211

原创 C#值类型-引用类型

转换-值类型-引用类型-预定义分类表转换C#里,兼容的实例间可以进行相互转换转换总是从一个值转换成一个新的值隐式转换:隐式转换是自动发生的显式转换:显式转换是手动操作的长整型转换成整型的时候可能会导致数据丢失,所以要用显示转换如果编译器断定转换不能成功的化两种转换都是会被禁止的static void Main(string[] args) { int i = 3; long a = i;//因为int是整型,long是长整型,已经

2022-01-14 17:34:26 93

原创 C#Null可空值

NULL可空值类型是System.nullable<T>这个结构体的实例可空值类型除了可以正确的表示其底层数据类型的范围,还可以表示nullstring Abb = "nuie" // int indexOfM = -1;//int类型无法识别字符M,所以实际应用中会给他-1 Nullable<int> indexOfM = null;//所以说可以用Nullable创建一个int的可空 Nullable<c

2022-01-14 16:02:35 240

原创 C#创建命名空间 uisng导入空间 高级特性

命名空间命名空间关键字namespaceusing System;namespace First.two.three//每个命名中间.的点表示嵌套,跟下面相同的层次结构{ class Class1 { } class Class2 { }}class Class5{ //这里的class5也相当于是在全局空间中}namespace First //上面这段等于下面这段{ namespace two { namespa

2022-01-14 14:52:13 391

原创 C#forrach循环

forrachusing System;namespace FirstCSharp{ class program { static void Main(string[] args) { foreach (var c in "abcd")//他会对每个字符输出a,b,c,d Console.WriteLine(c); } }}跳转语句//berak是结束循

2022-01-13 13:05:01 107

原创 C#迭代语句-表达式语句-声明语句等等

语句函数由语句组成,这些语句按照它出现的文本顺序执行语句块就是{}之内的语句声明语句用来声明一个新的变量,也可使用

2022-01-12 23:31:19 138

原创 C#null操作符

null操作符

2022-01-11 19:18:12 291

原创 C#一些基础标识符与关键字

标识符identifiner标识符就是程序员给他们的所写的类型-方法-变量等起的名字,由字母或者下划线开头关键字 keyword关键字对编译器有特殊含义的一些名字例如 using class static void int大部分关键字是保留的,所以不能当作标识符来使用,硬要使用的话,在前面加上@ class @classsliteral写死的数字或值之类的 12 33标点符号() [] {} ; 这种操作符+ - * / 这种注释单行注释 //xxx

2022-01-11 14:55:34 232

原创 C#学习开始

首先创建C#控制台应用(初学者先使用这个,我用的是vs2022)创建之后,点击到 program.cs 这里就是 C# 的源文件using System 是引用的一个命名空间class 类 program 类的名字namespace FirstCSharp 类的空间Main 为入口 console 意思为控制台 WriteLine 意思为书写staic 意思为静态的 void 无返回值注意 C#中要求分别大小写字母using System;namespace FirstC

2022-01-10 23:57:05 324

原创 学习记录P4

分支语句if语句(条件满足则输出)格式if(满足条件)(执行语句);#include<stdio.h>struct book//做结构体类型首先得定义{ char name[20]; int price;};int main(){//使用结构体前得先初始化结构体数据 struct book a = { "军事理论",125 }; struct book* fb = &a; int f = 0; scanf_s("%d", &f);

2022-01-07 11:27:33 203

原创 学习记录P3

~按位取反 ++#include <stdio.h>int main(){ int a = 10; int b = a++;//++为后置,先使用,再赋值给b,结果为:a =11,b = 10 //int a = 10; //int b = ++a;前置++,先++,然后赋值给b,结果为a = 11,b = 11 printf("%d,...

2021-12-27 22:12:36 186

原创 C语言基础入门学习记录2

常量#define 为定义的标识符常量#include <stdio.h>#define hehe 30int main(){ int a[hehe] = { 0 }; printf(" % d\n", hehe); return 0;}const 拥有常量属性-修饰常变量#include <stdio.h>int main(){ const int a = 15; printf("%d\n", a); return 0;}枚举..

2021-12-26 00:39:35 396

原创 C语言基础入门学习记录

根据视频网站学习记录的文章,如有什么不对的地方请大佬指出错误

2021-12-24 22:22:05 582

WPF项目-布局基础-

WPF项目-布局基础-

2022-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除