
WPF
dxm809
这个作者很懒,什么都没留下…
展开
-
Microsoft.Xaml.Behaviors.Wpf 的使用
behavior原创 2023-03-07 21:53:53 · 3528 阅读 · 1 评论 -
wpf 自定义绘图元素
1 新建wpf项目2 新建wpf UserControl类库3 在类库中新建类,继承于FrameworkElementusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Input;using System.Windows.Med原创 2022-04-18 06:20:45 · 384 阅读 · 0 评论 -
wpf 自定义面板
1 新建wpf项目2 新建wpf UserControl类库using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;namespace CustomControl{ public class WrapBrea原创 2022-04-18 06:04:39 · 374 阅读 · 0 评论 -
wpf 无外观控件添加状态转换
1 新建wpf项目2 新建wpf UserControl类库3 在类库中添加类,设置重写默认样式,添加部件和模板可视化状态声明using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Wind原创 2022-04-18 05:26:18 · 437 阅读 · 0 评论 -
wpf 无外观控件通过重写OnApplyTemplate进行代码绑定,减少模板绑定代码
1 新建wpf项目2 新建wpf UserControl类库using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Controls.Primitives;using Syst原创 2022-04-17 21:56:47 · 1338 阅读 · 0 评论 -
wpf 创建无外观应用程序并应用默认控件模板
1 新建wpf应用程序2 新建wpf UserControl类库,并新建类,继承Control,这里的代码基本都是从有外观的UserControl里面拷贝过来的,只是在静态构造函数中添加了覆盖默认样式的代码DefaultStyleKeyProperty.OverrideMetadata(typeof(ColorPicker), new FrameworkPropertyMetadata(typeof(ColorPicker)));using System;using System.Coll.原创 2022-04-17 21:35:00 · 367 阅读 · 0 评论 -
wpf 给UserControl添加依赖属性,事件和命令
1新建wpf项目2新建wpf UserControl库<UserControl x:Class="CustomControl.ColorPickerUserControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x原创 2022-04-17 20:48:09 · 2395 阅读 · 0 评论 -
wpf 创建简单无外观控件
1 新建wpf项目2 新建wpf用户控件库3 添加普通类,让其继承于Control类,添加两个依赖属性Text和IsEnable,并在静态构造函数中,调用DefaultStyleKeyProperty.OverrideMetadata方法using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;namespace原创 2022-04-17 15:43:37 · 476 阅读 · 0 评论 -
wpf 给UserControl添加依赖属性
1 新建wpf项目2 新建wpf 用户控件库3 新建MyTextUC,为其添加两个依赖属性,Text和Color,注意前端设置属性是string类型,wpf自带的转换器只能将string转换成color,但无法转换成Brush,所以需要添加ColorToBrush转换器<UserControl x:Class="CustomControls.MyTextUC" xmlns="http://schemas.microsoft.com/winfx/2006/xaml原创 2022-04-17 10:02:03 · 1317 阅读 · 0 评论 -
wpf 通过绑定实现直方图(柱状图)
1 新建wpf应用2 新建MainViewModelusing System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;using System.Text;using System.Threading.Tasks;using System.Windows;namespace WpfApp5{ public class M原创 2022-03-13 21:41:46 · 1331 阅读 · 0 评论 -
wpf 通过附加属性实现绑定显示直线图
1 新建wpf应用2 新建MainViewModel类using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;using System.Text;using System.Threading.Tasks;using System.Windows;namespace WpfApp5{ public class原创 2022-03-13 21:25:11 · 747 阅读 · 0 评论 -
wpf 通过全局对象将子窗体的数据绑定到主ViewModel获得的监控数据
1 新建wpf应用2 新建Base,Views,ViewModels,Models文件夹3 在Base下面新建CommandBase类using System;using System.Collections.Generic;using System.Text;using System.Windows.Input;namespace WpfApp4.Base{ public class CommandBase : ICommand { public.原创 2022-03-09 21:11:28 · 947 阅读 · 0 评论 -
wpf 子窗口如何通过相对资源查找绑定到主窗口ViewModel的数据(比如实时监控数据)
1 新建wpf应用2 新建Base,Views,ViewModels,Models文件夹3 在Base下面新建CommandBase类using System;using System.Collections.Generic;using System.Text;using System.Windows.Input;namespace WpfApp4.Base{ public class CommandBase : ICommand { public原创 2022-03-09 20:58:17 · 1126 阅读 · 0 评论 -
wpf 通过InvokeCommandAction来绑定Command
1 新建wpf程序,通过nuget添加Microsoft.Xaml.Behaviors库2 创建Base ViewModels文件夹3 在Base里面创建CommandBase类using System;using System.Collections.Generic;using System.Text;using System.Windows.Input;namespace WpfApp3.Base{ public class CommandBase : ICommand原创 2022-03-08 21:33:56 · 2057 阅读 · 0 评论 -
wpf 通过CallMethodAction来调用ViewModel里面的事件方法
1 新建wpf应用2 通过nuget导入Microsoft.xaml.Behaviors库3 新建ViewModels文件夹,并创建MainViewModel类using System;using System.Collections.Generic;using System.Text;using System.Windows.Input;using WpfApp3.Base;namespace WpfApp3.ViewModels{ public class M原创 2022-03-08 21:11:09 · 1410 阅读 · 0 评论 -
wpf 通过MouseBinding来设置Command绑定
1 新建wpf应用2 新建Base,ViewModels文件夹3 在Base文件夹里面新建CommandBase类using System;using System.Collections.Generic;using System.Text;using System.Windows.Input;namespace WpfApp3.Base{ public class CommandBase : ICommand { public event Even原创 2022-03-08 20:53:25 · 1825 阅读 · 2 评论 -
wpf 在MVVM中使用IOC思想通过注册窗体的方法实现在ViewModel里面打开其他窗口的方法
1 新建wpf应用2 新建Views Models ViewModels文件夹3 新建Base文件夹,添加CommandBase类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Input;namespace WpfApp1.Base{ public cla原创 2022-03-07 15:52:11 · 641 阅读 · 0 评论 -
wpf 在MVVM中使用IOC思想通过注册窗体的方法实现在ViewModel里面打开其他窗口的方法
理论:在MVVM中,View通过添加ViewModel的引用来指定DataContext,也就是View可以引用ViewModel,但ViewModel不可以引用View,而ViewModel在实现逻辑过程中如果需要访问其他的窗体该怎么办呢,比如打开一个对话框,这里通过IOC思想来解决该问题。1 新建wpf应用2 新建Views,Models,ViewModels文件夹3 新建Base文件夹,在其里面添加CommandBase类using System;using System.Coll原创 2022-03-07 15:34:15 · 2660 阅读 · 0 评论 -
WPF MVVM Command的简单使用
1 新建wpf应用2 新建Views,Models,ViewModels文件夹3 新建Base文件夹,并在其里面新建CommandBase类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Input;namespace WpfApp1.Base{ publi原创 2022-03-07 15:11:48 · 787 阅读 · 0 评论 -
wpf MVVM的一个好处解释
1 新建wpf应用2 新建Views,Models,ViewModels文件夹3 在Models新建MainModel类using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text;using System.Threading.Tasks;namespace WpfApp1.Models{ public class原创 2022-03-07 14:57:30 · 145 阅读 · 0 评论 -
WPF Textbox绑定浮点数在UpdateSourceTrigger=PropertyChanged时不能输入小数点问题解决
protected override void OnStartup(StartupEventArgs e) { FrameworkCompatibilityPreferences.KeepTextBoxDisplaySynchronizedWithTextProperty = false; }转载 2022-01-11 17:13:08 · 1216 阅读 · 0 评论 -
wpf Button命令执行长时间任务无法实时刷新
<Window x:Class="TestButtonRefresh.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008".原创 2021-12-05 04:16:18 · 386 阅读 · 0 评论 -
SqlSugar Tool 生成实体类
1 打开Sql Sugar工具箱,选择实体类生成2 选择Sql Server3 输入连接名称,主机地址,数据库用户名,密码,点测试连接4 上面会显示测试连接成功5 此时就可以通过下拉框选择数据库,点确定6 选择生成模板设置7 这里可以修改生成的模板,如果不需要修改,直接点击保存8 回到主界面,点击如图的生成实体按钮9 选择生成到的文件夹 ,如果正常则会提示导出所有表成功,此时可以拷贝生成的实体类到项目中使用...原创 2021-11-07 14:26:12 · 5209 阅读 · 1 评论 -
prism InvokeCommandAction
1 按照《prism搭建项目》搭建prism项目2 修改MainWindow.xaml,引入behaviours命名空间,用该命名空间的Interaction,给listbox添加事件触发器<Window x:Class="Prism.UseInvokeCommandAction.Views.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x原创 2021-11-01 21:33:52 · 509 阅读 · 0 评论 -
prism IRegionMemberLifetime(区域成员生命周期)
1 根据《prism basic navigation》创建项目和模块2 在ModuleA中添加ViewAViewModel并让其实现IRegionMemberLifetime接口,此接口包含一个KeepAlive属性,该属性表示当从该VM对应的视图导航到其他视图时候,是否销毁该视图using Prism.Mvvm;using Prism.Regions;using System;using System.Collections.Generic;using System.Linq;usi原创 2021-10-31 11:52:51 · 969 阅读 · 0 评论 -
prism 导航确认
1 按照《prism Basic Navigation》搭建好项目2 在ModuleA中的ViewModels下面新建ViewAViewModel,ViewBViewModel,让ViewAViewModel实现IComfirmNavegationRequest方法,当从B导航到A时候,可以直接到达,当A导航到B时候,进入ViewModel的ConfirmNavigationRequest方法,从而控制是不是可以继续导航到Busing Prism.Mvvm;using Prism.Region.原创 2021-10-31 11:24:51 · 466 阅读 · 0 评论 -
prism 导航传参(此文效果等同使用RegionContex)
1 按照《prism项目搭建》搭建prism项目2 新建用户控件库项目ModuleA,通过nuget引入prism.unity,新建文件夹Models,Views,ViewModels3 在Models文件夹新建类Personusing Prism.Mvvm;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;n原创 2021-10-31 11:12:09 · 945 阅读 · 0 评论 -
prism NavigationParticipation(导航参与)
1 按照《prism basic navigation》搭建项目和库2 修改ModuleA中ViewA,ViewB<UserControl x:Class="ModuleA.Views.ViewA" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"原创 2021-10-31 08:15:17 · 176 阅读 · 0 评论 -
prism Basic Navigation
1 按照《prism项目搭建》搭建项目2 在项目中新建用户控件库ModuleA,nuget引入prism.unity,并创建Views目录3 在Views创建两个用户控件ViewA,ViewB<UserControl x:Class="ModuleA.Views.ViewA" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http:/原创 2021-10-31 07:36:19 · 153 阅读 · 0 评论 -
prism RegionContext(区域上下文)
1 按照《prism项目搭建》搭建prism项目2 新建用户控件库ModuleA,并为其创建Views,ViewModels,Model目录3 在Model里面新建类using Prism.Mvvm;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ModuleA.Model{ p原创 2021-10-31 07:09:42 · 949 阅读 · 1 评论 -
prism EventAggregator(事件聚合器)
1 根据《prism 搭建项目》搭建Prism项目2 新建类库项目Prism.UseEventAggregator,创建MessageSentEvent类,使其继承于PubSubEvent<string>using Prism.Events;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namesp原创 2021-10-31 06:02:32 · 1149 阅读 · 0 评论 -
prism CompositeCommand的使用
1 按照《Prsim项目搭建》搭建Prism项目2 新建类库项目Prism.UseCompositeCommand.Core,通过nuget导入prism.unity,在该项目中添加类using Prism.Commands;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Prism.UseC原创 2021-10-31 06:02:24 · 409 阅读 · 0 评论 -
prism DelegateCommand的使用
1 按照《prism项目搭建》来搭建prism项目2 在项目中添加ViewModels文件夹,在其下面添加类using Prism.Commands;using Prism.Mvvm;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Prism.Command.ViewModels{原创 2021-10-31 06:02:14 · 1257 阅读 · 0 评论 -
prism 修改默认的View和ViewModel映射
1 按照《prism项目搭建》搭建prism项目2 在项目目录下新建ViewModels文件夹,在下面新建CustomViewModel类using Prism.Mvvm;namespace ViewModelLocator.ViewModels{ public class CustomViewModel : BindableBase { private string _title = "Custom ViewModel Application";原创 2021-10-31 06:01:42 · 809 阅读 · 0 评论 -
prism 修改默认的ViewModelLocator
1 根据《Prism项目搭建》搭建项目2 在Views里面创建MainWindowViewModel类using Prism.Mvvm;namespace ViewModelLocator.Views{ public class MainWindowViewModel : BindableBase { private string _title = "Prism Unity Application"; public string Title原创 2021-10-30 13:59:50 · 401 阅读 · 0 评论 -
prism 创建ViewModel
1 按照《prism项目搭建》搭建prism项目2 修改MainWindow.xaml,使其自动连接ViewModel,并将Title绑定到Title属性 prism:ViewModelLocator.AutoWireViewModel="True" Title="{Binding Title}"3 在主项目中添加ViewModels文件夹,并在其下面添加MainWindowViewModel类using Prism.Mvvm;using System;using System原创 2021-10-30 13:56:21 · 502 阅读 · 0 评论 -
prism 加载模块的四种方法
按照《prism创建模块》搭建项目并创建模块1通过配置文件加载模块修改App.config文件,加入configSection节点和modules节点<?xml version="1.0" encoding="utf-8"?><configuration> <configSections> <section name="modules" type="Prism.Modularity.ModulesConfigurationSection,原创 2021-10-30 13:42:58 · 3263 阅读 · 0 评论 -
prism 激活去激活视图
1 按照《prism项目搭建》搭建项目2 在Views文件夹里面创建用户控件ViewA,ViewB<UserControl x:Class="Prism.ActiveDeactive.Views.ViewA" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xa原创 2021-10-30 09:33:26 · 386 阅读 · 0 评论 -
prism 视图注入
1 按照《prism项目搭建》搭建项目2 在Views里面添加用户控件ViewA<UserControl x:Class="Prism.ViewInjection.Views.ViewA" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"原创 2021-10-30 08:21:50 · 491 阅读 · 0 评论 -
prism 视图发现
1 按照《prism搭建项目》搭建好项目2 在Views目录中添加用户控件ViewA<UserControl x:Class="ViewDiscovery.Views.ViewA" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"原创 2021-10-30 05:13:44 · 268 阅读 · 0 评论