随笔分类 - WPF
自定义一个区域管理
摘要:我有一个想法,是跟据Prism框架想到的 在Prism框架,我们经常会用到 <Grid DockPanel.Dock="Left"> <ContentControl prism:RegionManager.RegionName="{x:Static region:RegionNames.Header
ContentControl的精彩使用
摘要:先看效果 在WPF中ContentControl的Content属性是object,预示着它可以绑定任何类型,不管是View还是ViewModel都可以。 我们先看正确的代码 <Window.Resources> <DataTemplate DataType="{x:Type viewModel:U
我的思想天马行空1
摘要:1、WPF MarkupExtension的学习 public class StudentList: ObservableCollection<Student> { public StudentList() { Add(new Student() { Id=1,Name="张三"}); Add(ne
和PLC对配置的繁琐工序
摘要:上位机开发最烦和PLC对轴的位置,点的位置,一大堆的手写工序,数据不是放在Excel表,就是放在txt或者ini 图1. 图2 这次的需求 我需要手动将图1的数据写到图2 太麻烦 所以我准备写一个工具实现它 首先,我打算生成图2,需要使用到XML反序列化,读取图1,我使用MiniExcel 所以我先
WPF在UserControl使用MVVM模式实现窗体移动,最大化,最小化,关闭
摘要:1、在WPF中,我们移动窗体,可以使用MouseDown或者MouseLeftButtonDown去触发DragMove方法 2、当我们使用UserControl的时候,它是没有DragMove方法的,这个时候怎么办 我们改为命令的形式,可以直接调出当前的窗体,或者将窗体当参数传入到ViewMode
实现一个简易的记住密码功能
摘要:由于最近一个项目未曾使用数据库,所以在记住密码的时候,只能保存数据到本地, /// <summary> /// 保存在本地的登录用户 /// 在不启用数据库的情况下,可以对外使用本地数据 /// </summary> public class LoginInfoLocation { public c
实现一个切换配方的功能
摘要:代码如下 public class Student : BindableBase { private string _title; public string Title { get => _title; set => SetProperty(ref _title, value); } privat
WPF手动实现切换页面
摘要:1、首先主页面 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="220" /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid Grid.Column="1"> <Grid.R
自定义一个事件聚合器
摘要: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内部绑定的控件和数据拉取出来
摘要:一般最简单的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、不管是父类调用子类的方法,还是获取子类的属性,道理都是一样的, 依赖倒置只是其中一个方法 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
关于之前写的动态字符串的绑定再说一点
摘要:1、我今天发现一个奇怪的事情 我之前写的关于动态字符串的绑定 https://www.cnblogs.com/guchen33/p/18060276 <TextBlock Width="200" Height="30" FontSize="20" Text="{Binding Content, St
WPF频繁更新UI卡顿问题
摘要:我的WPF程序,需要连接PLC、CCD、RFID、扫码枪、控制卡 所以我写了 InitHardware(); private void InitHardware() { var tasks = new Task[] { //后台线程长连接,不取消令牌 Task.Factory.StartNew(()
VS2022最新版Bug
摘要:自从我昨天更新了VS2022,还有下载了VS2022预览版本后,点击文件资源管理器,Handycontrol所在的目录,才到src所在的目录,还没有点进去查看sln所在的目录,文件资源管理器黑屏直接退出,重启电脑也没好,其他的目录,或者其他我下载的源码都能查看,本来sln后缀应该和VS2022图标一
Handycontrol组件库的Bug
摘要:我的WPF程序使用了Handycontrol组件库,前端写了 <Button Width="100" Height="30" Margin="40,20,20,-100" HorizontalAlignment="Center" Background="#FF0078D7" Command="{Bi