深入浅出WPF
深入浅出WPF
wu_pan123
应用:C/S(C# + WPF\WinForm)、B/S(前后端分离,Vue + ASP.NET Core Web API + Ant Design Vue)学习中。
开发框架:C/S(MvvmLight、Nlog、SuperSocket)、B/S(前端 Ant Design、Vue.js)学习中。
WPF样式及控件库:MaterialDesign Themes、HandyControl、LiveChart等。
B/S样式及控件库:Element Plus、Ant Design Vue等(学习中)。
通信协议:ModBusTcp、FinsTcp、PPI、OOP698等。
展开
-
做一个桌面悬浮翻页时钟
翻页桌面悬浮时钟,TopMost(Topmost=“True”),不在任务栏显示(ShowInTaskbar=“False”),在托盘区显示图标,双击托盘区图标实现最小化和还原,右键托盘图标可选“最小化”和“退出”原创 2024-05-14 10:49:36 · 291 阅读 · 0 评论 -
自定义DataGrid样式
【代码】自定义DataGrid样式。原创 2024-01-16 13:42:25 · 383 阅读 · 1 评论 -
自定义ScrollViewer样式
【代码】自定义ScrollViewer样式。原创 2024-01-16 13:40:26 · 379 阅读 · 0 评论 -
自定义ScrollBar样式
【代码】自定义ScrollBar样式。原创 2024-01-16 13:38:46 · 356 阅读 · 0 评论 -
实现WPF客户端程序窗体大小随着任务栏的显示与隐藏自动调整为全屏
当任务栏显示或隐藏时,窗体的高度将自动调整为全屏或屏幕可用工作区域的高度。原创 2023-07-07 15:09:19 · 960 阅读 · 0 评论 -
WPF项目在xaml里面两数相加的markup extension
上述 XAML 代码中,通过设置 Value1 和 Value2 的值来实现两个数的相加,并将结果显示在 TextBlock 中。请确保将 YourNamespace 替换为包含自定义 Markup Extension 的命名空间名称。将上述示例代码适配到你的项目中时,请根据实际需要进行修改和调整。在上述代码中,我们创建了一个继承自。,分别表示要相加的两个数。原创 2023-06-20 15:04:51 · 511 阅读 · 0 评论 -
WPF 实现“返回顶部”
【代码】WPF 实现“返回顶部”原创 2023-02-08 09:57:48 · 118 阅读 · 0 评论 -
WPF Trigger
<Grid> <TextBlock Text="I am Aomi" Width="75" Height="20"> <TextBlock.Style> <Style TargetType="TextBlock"> <Style.Triggers> <Trigger Property.原创 2021-04-20 13:35:49 · 90 阅读 · 0 评论 -
在使用mvvm,同时使用构造函数依赖注入之后,前端绑定数据源时没有提示怎么办
在使用mvvm,同时使用构造函数依赖注入之后,前端绑定数据源时没有提示怎么办原创 2023-02-03 09:39:37 · 167 阅读 · 0 评论 -
WPF DataGrid数据颜色根据数据值改变
wpf DataGrid 数据颜色根据数据值改变原创 2022-08-20 13:09:24 · 1049 阅读 · 0 评论 -
解决WPF ScrollViewer中嵌套其他(DataGrid、ItemsControl等等)控件后,鼠标滚动不响应
解决wpf ScrollViewer中嵌套其他(DataGrid、ItemsControl等等)控件后,鼠标滚动不响应原创 2022-06-24 14:57:49 · 1279 阅读 · 0 评论 -
MvvmLight CanExecute失效
MVVMlight CanExecute失效解决方案原创 2022-06-23 14:12:48 · 186 阅读 · 0 评论 -
WPF格式化输出后端数据
1.DataGrid <DataGrid> <DataGrid.Columns> <DataGridTextColumn Width="*" Header="坐标"> <DataGridTextColumn.Binding>原创 2022-03-14 09:48:40 · 545 阅读 · 0 评论 -
.net core 3.x平台下wpf事件转命令
1.安装Microsoft.Xaml.Behaviors.Wpf 库2.引入命名空间xmlns:i=“http://schemas.microsoft.com/xaml/behaviors”3.示例代码<TextBlock Style="{StaticResource ExitTextBlockStyle}" ToolTip="退出"> <i:Interaction.Triggers>原创 2022-01-18 16:27:32 · 354 阅读 · 0 评论 -
WPF在xaml里格式化文本
wpf在xaml里格式化文本格式化为16进制下面2种方式都可以<TextBlock Grid.Row="2" Grid.Column="2" Margin="10,0,0,0" HorizontalAlignment="Left" Style="{StaticResource SecondaryTextBlockStyle}"> <Run Text="Hex" /原创 2021-09-28 15:39:55 · 501 阅读 · 0 评论 -
各种命名空间
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:local="clr-namespace:ToWin.CFD.UIL.Views.Pages" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:materialDesign="http://materialdesigninxaml.ne...原创 2021-09-07 14:47:18 · 170 阅读 · 0 评论 -
WPF 包含TextBlock的Grid作为按钮点击效果
1.效果1.1 效果11.2 效果22.代码 <Color x:Key="PrimaryFourthColorStyle">#4AB6A7</Color> <SolidColorBrush x:Key="PrimaryFourthSolidColorBrushStyle" Color="{StaticResource PrimaryFourthColorStyle}" /><Color x:Key="AssistFourth...原创 2021-07-29 10:26:23 · 1015 阅读 · 0 评论 -
WPF DatePicker设置语言
1.修改Language属性即可2.代码示例<DatePicker Language="zh-cn"/>3.原创 2021-06-05 22:28:28 · 1723 阅读 · 0 评论 -
常用的Nuget包
1.MaterialDesignThemeswpf样式和模板2.HandyControlwpf样式和模板3.MvvmLightwpf框架4.LiveChartwpf和winform图表控件库5.NLog日志框架6.MoreLinq字如其名原创 2021-03-29 10:30:57 · 1653 阅读 · 0 评论 -
WPF实现快捷键
1 前端代码 <Window.InputBindings> <KeyBinding Gesture="Ctrl+Alt+D" Command="{Binding KeyCmd}" /> </Window.InputBindings>2 后端代码 public ICommand KeyCmd => new RelayCommand(() => {原创 2021-03-15 10:04:26 · 266 阅读 · 0 评论 -
WPF MultiBinding使用参考
1 前端绑定1.1.绑定DataContext中的属性<MultiBinding Converter="{StaticResource contentConverter}"> <Binding Path="CurrentUserInfo" /> <Binding Path="CurrentUserInfo.UserName" /> <Binding Path="CurrentUserInfo.Age" /></Mult原创 2021-03-15 10:00:47 · 811 阅读 · 3 评论 -
Material Design自定义颜色
<Application x:Class="CustomColorDemo.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Applicat.原创 2021-03-01 11:24:57 · 552 阅读 · 0 评论 -
LiveChart应用笔记-为图表添加图例,并添加隐藏曲线功能
本文主要介绍为LiveChart图表添加自定义图例,并实现曲线隐藏功能。其中,图例中的直线样式与图表中的曲线样式进行了绑定。第一步。添安装LiveChart.wpf 包、引入命名空间等前期准备 xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"第二步。添加测试曲线原创 2021-01-25 13:56:43 · 3770 阅读 · 7 评论 -
WPF事件绑定到vm方法
方法1第一步,在前端引入命名空间 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"第二步,前端事件绑定vm中的命令<Window x:Class="Wp.WpfDemo.UIL.Views.Windows.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xml原创 2021-01-19 14:30:27 · 1240 阅读 · 1 评论 -
LiveChart应用笔记-折线图添加任意数据
1.首先在vm中定义一个配置对象(mappers)比如定义一个笛卡尔坐标系图表的配置文件(CartesianMapper),曲线值为PointF类型的对象,该对象的横坐标(PointF.X)对应图表的横坐标,该对象的纵坐标(PointF.Y)对应图表的纵坐标,代码如下 /// <summary> /// 笛卡尔坐标系图表配置 /// </summary> public CartesianMapper<Poi原创 2021-01-08 13:38:11 · 2273 阅读 · 0 评论 -
NLog.config
<?xml version="1.0" encoding="utf-8" ?><!-- optional, add some variableshttps://github.com/nlog/NLog/wiki/Configuration-file#variables–><!--See https://github.com/nlog/nlog/wiki/Configuration-filefor information on customizing logg原创 2020-12-19 09:53:39 · 1085 阅读 · 1 评论 -
SolidColorBrush样式
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <SolidColorBrush x:Key="RedA700SolidColorBrushStyle" Color="{StaticResource RedA700ColorStyl.原创 2020-12-17 11:21:56 · 350 阅读 · 0 评论 -
material design颜色样式
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WpfApp2"> <!--#region Red--> <Color x:Key="RedA700ColorStyle.原创 2020-12-17 09:27:17 · 322 阅读 · 0 评论 -
WPF加载SVG格式的图片
首先,SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。接下来加载步骤:1.在安装nuget包:sharpvectors2.引入命名空间xmlns:svgc="http://sharpvectors.codeplex.com/svgc/"3.将svg文件添加为项目资源后,在设计页面添加<svgc:SvgViewbox Height="100" Width="100" IsHitTestVisible="False" Source="/Resources/T...原创 2020-10-27 14:00:52 · 5467 阅读 · 4 评论 -
WPF学习笔记——元素绑定与Converter配合使用设计技巧
背景:软件主界面中通过点击导航栏(是一个TreeView)选项,在主页面(是一个Frame)中加载对应页面。总述:项目中,首先定义了各级导航栏对应的枚举,将枚举描述作为导航栏条目的Header,将Frame的Content绑定到Header的Text。选择导航栏某个条目后,根据枚举描述得到枚举值,在Converter里根据对应枚举值返回相应页面。...原创 2020-10-26 16:41:41 · 273 阅读 · 0 评论 -
Wpf 学习笔记
1.关于前段元素绑定视图模型时,视图模型属性更新时刷新前端总述:在视图模型中更新源时,必须更新属性,而不能更新字段,因为更新字段并不会触发PropertyChanged事件,从而导致前端元素值不能被更新.示例前端xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"原创 2020-07-06 10:56:32 · 261 阅读 · 0 评论