随笔分类 -  WPF学习

摘要:前面用了Background方法来更新进度条,这次用更好用异步方法来更新进度条 先看效果 cs代码 1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using 阅读全文
posted @ 2021-10-30 15:48 只吃肉不喝酒 阅读(1920) 评论(0) 推荐(0)
摘要:关键在于 HierarchicalDataTemplate模板的使用 先看效果 xaml界面 1 <Window 2 x:Class="Xml数据展示.MainWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presenta 阅读全文
posted @ 2021-10-26 17:38 只吃肉不喝酒 阅读(757) 评论(0) 推荐(0)
摘要:先看运行效果 在WPF 中如果直接在UI线程更新进度条,会造成界面卡死,因此使用BackgroundWorker来进行更新,既简单又方便。 先看xaml 1 <Window 2 x:Class="BackgroundWorker使用方法.MainWindow" 3 xmlns="http://sch 阅读全文
posted @ 2021-10-26 11:45 只吃肉不喝酒 阅读(627) 评论(0) 推荐(0)
摘要:个人觉得这个作用IValueConverter没有啥区别。。。。 看用法 准备一个类 1 public class ListMarkupExtension : MarkupExtension 2 { 3 private List<string> _items1 = new List<string>( 阅读全文
posted @ 2021-10-22 17:06 只吃肉不喝酒 阅读(180) 评论(0) 推荐(0)
摘要:DataGrid删除或者列以后,需要先清空DataGrid的ItemsSouce,再重新给DataGrid绑定数据源, 直接在ViewModel里面对数据源进行添加和删除,不会反应到界面上, 在MVVM模式下面,如果直接把控件通过CommandParameter传到ViewModel进行修改,就显得 阅读全文
posted @ 2021-08-09 22:30 只吃肉不喝酒 阅读(4579) 评论(2) 推荐(5)
摘要:https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.data.objectdataprovider?view=net-5.0 ObjectDataProvider 提供了一种简便的方法,可在 XAML 中创建对象并将对象用作绑定源对象 阅读全文
posted @ 2021-07-27 14:15 只吃肉不喝酒 阅读(1328) 评论(0) 推荐(0)
摘要:先准备一个ViewModel 1 public class ViewModel 2 { 3 private ViewModel() 4 { 5 Names = new List<string>() 6 { 7 "A", 8 "B", 9 "C", 10 "D", 11 "E", 12 "F", 13 阅读全文
posted @ 2021-07-27 12:26 只吃肉不喝酒 阅读(537) 评论(0) 推荐(0)
摘要:首先看效果 准备一个ViewModel 1 public class TestViewModel : ViewModelBase 2 { 3 private double _argA; 4 5 private double _argB; 6 7 private double _result; 8 9 阅读全文
posted @ 2021-07-13 22:38 只吃肉不喝酒 阅读(2158) 评论(0) 推荐(0)
摘要:效果 还是准备一个ViewModel 在要验证的属性上面添加验证特性 1 public class ViewModel 2 { 3 private int _age; 4 5 private string _eMail; 6 7 private string _name; 8 9 [Range(0, 阅读全文
posted @ 2021-07-02 16:56 只吃肉不喝酒 阅读(357) 评论(0) 推荐(0)
摘要:效果 首先添加引用 System.Windows.Interactivity.WPF (需要用nuget包下载) 准备一个行为类 继承Behavior类 1 /// <summary> 2 /// 控件获取焦点后的行为 3 /// </summary> 4 public class FocusBeh 阅读全文
posted @ 2021-07-01 21:18 只吃肉不喝酒 阅读(145) 评论(0) 推荐(0)
摘要:效果 首先 准备一个装饰器类 继承Adorner 1 /// <summary> 2 /// 装饰器必须继承抽象类Adorner 3 /// </summary> 4 public class CornerAdorner : Adorner 5 { 6 /// <summary> 7 /// 调用基 阅读全文
posted @ 2021-07-01 20:24 只吃肉不喝酒 阅读(261) 评论(0) 推荐(0)
摘要:准备一个数字验证规则类 继承ValidationRule 1 public class NumberValidationRule : ValidationRule 2 { 3 private int _max = 150; 4 private int _min = 0; 5 6 /// <summa 阅读全文
posted @ 2021-07-01 16:27 只吃肉不喝酒 阅读(263) 评论(0) 推荐(0)
摘要:如何给一个控件 添加一个它不具有的行为 比如TextBlock 给它添加一个双击事件 改变它的背景颜色 如图 引用Nuget包 搜索 Interactivity 安装 流程如下 新建一个类 继承Behavior<T> 重写两个方法 protected override void OnAttached 阅读全文
posted @ 2021-05-02 15:31 只吃肉不喝酒 阅读(185) 评论(0) 推荐(0)
摘要:和普通转换器原理差不多 先看效果 最后一行的值是前面的总和 首先创建一个类继承接口 IMultiValueConverter class NumMultiConvert : IMultiValueConverter { #region Field 字段 #endregion #region Cons 阅读全文
posted @ 2021-04-25 12:30 只吃肉不喝酒 阅读(357) 评论(0) 推荐(0)
摘要:效果 文本绑定颜色 首先实现一个颜色转换器类 继承IValueConvert接口 class ColorValueConvert : IValueConverter { #region Field 字段 #endregion #region Constructor 构造函数 #endregion # 阅读全文
posted @ 2021-04-24 13:19 只吃肉不喝酒 阅读(286) 评论(0) 推荐(0)
摘要:首先引用命名空间 xmlns:sys="clr-namespace:System;assembly=mscorlib" 注意是mscorlib; 然后创建资源 <x:Array x:Key="list" Type="{x:Type sys:String}"> <sys:String>文字111111 阅读全文
posted @ 2021-04-23 14:06 只吃肉不喝酒 阅读(787) 评论(0) 推荐(0)
摘要:效果 代码 1 <Window x:Class="WpfApp12.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft. 阅读全文
posted @ 2021-04-15 08:49 只吃肉不喝酒 阅读(1230) 评论(0) 推荐(0)
摘要:先创建后台实体类 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System. 阅读全文
posted @ 2021-04-04 12:24 只吃肉不喝酒 阅读(395) 评论(0) 推荐(0)