07 2024 档案
自定义一个事件聚合器
摘要:public interface IEventTransmit { void Publish<T>(object obj = null) where T : EventBase, new(); void Subscribe<T>(Action<object> executeMethod) where
建造者模式读取数据
摘要:突然想起Asp.Net 启动项目的建造者写法非常优秀,所以让自己的代码看起来高级,美观,优雅。 我模拟一个场景使用它 直接上代码 public class TestQuery { public static void Main() { QueryableBuilder queryableBuilde
最简单的打包发布
摘要:1、打开Edge浏览器,使用163邮箱或者qq邮箱注册微软账号并登录 2、打开网站,使用刚才的账号继续注册nuget,并登录 https://www.nuget.org/ 3、新建standard类库 4、修改csproj文件 将 <TargetFramework>standard2.1<Targe
说说我刚才将数据模板写在外部的报错
摘要:在WPF的 <Window.Resources>中 可以直接写 <ResourceDictionary Source="../Styles/ContentDemoStyle.xaml"/>, 也可以包裹一层, <ResourceDictionary> <ResourceDictionary.Merg
TriggerParameterPath的用法
摘要:1、先介绍TriggerParameterPath的AddedItems方法吧 设计场景 点击用户名罗列出用户的详细信息,或者点击配方罗列出配方的详细信息 在WPF的官方例子中,它是这样写的 有上下两层,点击第一行的用户名,第二行罗列对应的信息 <!-- 可以用来罗列信息,不同的值对应不同的信息 -
将WPF内部绑定的控件和数据拉取出来
摘要:一般最简单的ItemsControl的写法是 <ItemsControl ItemsSource="{Binding Students}"> <ItemsControl.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Name}"/> <
ContentPresenter 的作用
摘要:我发现WPF自定义控件模板的时候有时候写ContentPresenter ,有时候不写,不管写不写ContentPresenter 都能自定义好一个漂亮的控件,为什么,那么ContentPresenter 的作用是什么,写不写的区别是什么 ContentPresenter 是WPF中一个非常重要的控
WPF进度条中间写百分比数字
摘要:我发现很多同学把思维固化了,通常我们需要实现的进度条是 我在网上看到好多例子,但是都没有我的简单,他们不是重写ProcessBar就是使用模板, 可以将TextBlock提取出来啊,灵活一点单独绑定 然后一句代码Panel.ZIndex="1"就搞定了 <StackPanel> <Button Co
昨天的面试问题
摘要:1、之前面试的时候,面试官说了在异步更新UI不用使用Dispatcher.CurrentDispatcher.Invoke 我之前倒没注意,或者说知识浅薄,不知道, <StackPanel> <Button Content="执行耗时任务" Margin="20" Command="{Binding
设计模式的六大原则
摘要:1、依赖倒置原则 /// <summary> /// 高层模块不应该依赖底层模块 /// 二者都应该依赖其抽象 /// </summary> public class Student { public int Age { get; set; } public string Name { get; s
通过依赖倒置,将子类数据传递给父类
摘要:1、不管是父类调用子类的方法,还是获取子类的属性,道理都是一样的, 依赖倒置只是其中一个方法 public class Child:Parent { public string Default {get;set;} public Child() { Default="默认值"; } } 我现在父类需
C#常用的4种锁的使用以及解释
摘要:1、lock internal class Program { static object lockObject=new object(); static void Main(string[] args) { Student student = new Student(); Thread threa