随笔分类 - WPF
原生WPF使用IOC容器
摘要:1、删除App.xaml中的 StartupUri="" 2、改造App.xaml.cs public partial class App : Application { public App() { ServiceProvider = GetServiceProvider(); } private
记录一次WPF登录跳转的报错
摘要:我在WPF程序登录窗体到主窗体跳转遇到问题,我没有写任何关闭,但是程序直接退出了,代码如下 private IUnityContainer Container { get; } public Bootstrapper() { Container = ConfigureService(); } pri
WPF的事件命令
摘要:WPF通常使用 xmlns:i="http://schemas.microsoft.com/xaml/behaviors" 来做一些奇形怪状的绑定,比如对TextBlock的命令绑定 而命令事件如下 路由事件 (Routed Events): 这些是 WPF 中最常用的事件类型,可以沿着元素树路由。
WPF关联Mvvm
摘要:WPF在不使用任何框架去关联View和ViewModel的时候,最常用的2种写法是 this.DataContext=new MainViewModel(); 或者 <Window.DataContext> <viewModels:MainWindowViewModel/> </Window.Dat
List和ObservableCollection的转换
摘要:1、我们后台查询全部List数据的时候,前台需要ObservableCollection展示 这个时候List需要转换成ObservableCollection public static ObservableCollection<T> ToObservableCollection<T>(this
聊一下Button事件、命令、行为的触发顺序
摘要:1、我们新建一个xaml <StackPanel Width="200" Margin="20"> <Button Height="30" Content="按钮" Command="{Binding MsgCommand}" x:Name="btn" Margin="10"/> </StackPa
WPF的所有绑定
摘要:一、静态绑定 1、新建一个资源字典ButtonStyle <Style x:Key="btn" TargetType="Button"> <Setter Property="Width" Value="200"/> <Setter Property="Height" Value="30"/> <Se
闭包
摘要:/// <summary> /// 闭包 /// 1、函数嵌套,一个函数内部有另一个函数,并且内部函数有外部函数的局部变量 /// 2、闭包会捕获周围环境的自由变量(局部变量) /// 3、闭包会将内部函数作为返回值返回,供外部函数调用 /// </summary> public class Dem
提高反射的效率
摘要:使用委托调用比直接调用慢10%,使用反射是直接调用的600倍,当然这取决于方法内部是否还外拉数据,但是反射转委托调用的好处显而易见 所以我们需要使用反射和泛型方法来动态创建委托,并通过这些委托来调用特定的方法 先创建一个带有返回值的 public class RegisterDemo { priva
csproj技巧,以及使用其他类库冲突,以及引入第三方UI方式
摘要:1、在项目中我们经常写 string? Message{get;set;} 明明是引用类型,它底下还是会出现波浪线,我们可以打开csproj 找到Nullable将它改为disable,或者删除,它默认是disable <Nullable>disable</Nullable> 2、我们的WPF中可能
关于动态字符串的绑定
摘要:WPF的绑定实在是太强大了 1、正常情况下,我们的绑定是这样的,打印HelloWorld <TextBlock Width="200" Height="30" FontSize="20" Text="{Binding Content}"/> private string _content; publ
ItemsControl和ListView、ListBox的区别
摘要:1、ItemsControl用来显示一个数据项的集合,它的底层是一个列表,它可以非常灵活的展示布局和数据 以下是例子 <ItemsControl ItemsSource="{Binding Student}"> <ItemsControl.ItemTemplate> <DataTemplate> <
记录一次WPF命令参数报错,InvalidCastException: T for DelegateCommand is not an object nor Nullable.
摘要:在使用WPF的时候对int或者bool类型进行绑定出现InvalidCastException: T for DelegateCommand is not an object nor Nullable. <Button Width="200" Height="30" Content="按钮" Com
WPF命令绑定
摘要:在WPF中有时候不想将命令写在List中,但是却要在前端绑定的List中写入命令 暂时知道两种解决方法 1、 Command="{Binding DataContext.NavicateCommand, RelativeSource={RelativeSource AncestorType=List
IValueConverter的基础用法
摘要:1、我们在做工控项目的时候通常设置配方的上下限 这个时候要求OK数在上下限范围之内,否则NG 首先我们绑定一个简单的List用来展示数据,我这里用学生Age来展示 <ListView ItemsSource="{Binding DataList}" Margin="20"> <ListView.Vi
一种非常简单的读取json文件的类库
摘要:1、现在我介绍一个类库NewLife,非常流批 先介绍它读取json吧 WPF前台随便绑定一下 <TextBlock Text="{Binding ArticleText}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSi
WPF异步命令以及SqlSugar异步增删改查
摘要:1、异步 /// <summary> /// 查询全部 /// </summary> /// <returns></returns> public async Task<List<IgniteTubeInfo>> QueryListAsync() { return await db.Queryabl
HeaderedContentControl实现左右对称
摘要:在我们使用TextBlock却想给前面添加固定字段的时候,发现TextBlock没有Header属性, 这个时候我们可以用到HeaderedContentControl 然而,默认情况下HeaderedContentControl是上下排列的,我们需要进行改动 1、添加资源字典,并使用 <Style
自定义MarkupExtension的学习,以及WPF中Combobox绑定枚举类型
摘要:我们上一期讲到ComBobox绑定数据,https://www.cnblogs.com/guchen33/p/17630808.html 这次我们简单化一下, 正常来讲WPF中绑定不了枚举的像这样 ``` //前台代码 //后台VM public enum MyEnum { One, Two, Th
Button按钮Effect的用法
摘要:教大家写一个好看的Button按钮 代码简单粗暴 ``` ``` 运行样式  Effect还有多种用法,大