WPF
文章平均质量分 54
迷惘小书童
努力,奋斗
展开
-
WPF中TreeView的拖拽实现
在Treeview中实现Drag和Drop拖拽功能原创 2023-08-23 14:20:44 · 669 阅读 · 0 评论 -
WPF中手写地图控件(4)——离线地图
通过内存缓存和本地文件缓存技术加载地图原创 2023-08-23 13:27:07 · 352 阅读 · 1 评论 -
WPF中手写地图控件(3)——动态加载地图图片
图片动态加载原创 2023-08-23 13:26:20 · 1180 阅读 · 0 评论 -
WPF中手写地图控件(2)——区域显示
地图控件上显示区域原创 2023-08-23 13:24:18 · 307 阅读 · 0 评论 -
WPF中手写地图控件(1)——基于瓦片地图的控件
瓦片地图组成地图控件原创 2023-08-23 13:23:15 · 457 阅读 · 2 评论 -
WPF中自定义Loading图
纯前端方式,通过动画实现Loading样式原创 2023-08-03 17:53:33 · 2306 阅读 · 0 评论 -
WPF自定义Command
WPF 中的命令是通过实现 ICommand 接口创建的。ICommand 公开了两种方法 Execute 和 CanExecute,以及一个事件 CanExecuteChanged。Execute 执行与该命令关联的操作。CanExecute 确定是否可以在当前命令目标上执行该命令。如果集中管理命令操作的命令管理器检测到命令源中存在一个可能使已引发命令无效但尚未由命令绑定执行的更改,则会引发 CanExecuteChanged。set;set;原创 2023-06-25 17:59:51 · 659 阅读 · 0 评论 -
WPF中对Halcon的DrawingObject支持
我下载的是Halcon-18.11。首先这是可以参考例程的。例程地址首先定义一个。原创 2023-06-25 17:47:58 · 1078 阅读 · 0 评论 -
WPF中的控件不继承DataContext时如何绑定到数据
DataGrid中有个ComboBox他需要个独立的ItemsSource需要绑定,他不是在DataGrid的ItemsSource下的item中的属性,而是与ItemsSource平级的,那么就要独自绑定DataContext。原创 2021-02-01 18:07:06 · 398 阅读 · 0 评论 -
WPF的打印预览+用户自定义PDF模板的编写(HTML to PDF)
模板编写模板准备使用Antlr3.StringTemplate+HtmlRenderer来实现。接下来实现的是一个下面一个RichTextBox来编辑模板,上面一个HtmlRenderer的HtmlPanel控件来显示模板编辑后的HTML的样式,且每秒刷新一次,然后左边使用固定的包含属性的TreeView,能够将属性格式直接拖到RichTextBox中,方便后台对数据的填充编辑模板界面<Grid> <Grid.ColumnDefinitions> &l原创 2020-12-17 10:19:30 · 1626 阅读 · 0 评论 -
PDF空模板填充数据+WPF预览PDF
使用一个空的PDF模板然后后台填入数据生成一个PDF文件,且软件可以预览原创 2020-10-27 16:34:36 · 899 阅读 · 0 评论 -
WPF实现一个图片查看器
我想实现一个图片查看器鼠标滚轮可以放大缩小鼠标左键可以拖动图片鼠标右键定位到当前真实的图片坐标(这是我项目要求)根据参考如何从MouseEvent中获取图像的X和Y点?WPF中获取Image的位置和大小<Grid x:Name="IMG" Background="Black" VerticalAlignment="Center" Grid.Row="0" Grid.Column="0"> <Grid.Resources> <Transf原创 2020-10-23 18:01:36 · 1171 阅读 · 0 评论 -
WPF DataGrid后台添加绑定
后台直接增加绑定的列,下列使用了Header为1-10的列,绑定也需要key为1-10的各个值for (int i = 0; i <= ColumnMAX; i++) { dataGrid.Columns.Add(new DataGridTextColumn() { Header = i, Binding = new Binding(string.Format("{0}", i)) });}dataGrid.Columns.Add(new DataGridTex原创 2020-10-14 18:07:17 · 1550 阅读 · 0 评论 -
两个ListBox之间单向拖动
向外拖动的增加一个PreviewMouseLeftButtonDown事件<ListBox ItemTemplate="{DynamicResource HoleListTemplate}" PreviewMouseLeftButtonDown="ListBox_MouseDown" ItemsSource="{Binding PGHoles}"> <ListBox.ItemsPanel> <ItemsPanelTemplate>原创 2020-10-10 13:58:02 · 219 阅读 · 0 评论 -
更改WPF中UniformGrid的布局排列顺序
更改UniformGrid中的布局排列顺序,可以改成从下到上,或者从右到左原创 2020-10-10 13:35:34 · 1738 阅读 · 1 评论 -
WPF限制textbox的输入,不使用文件非法字符
搜了半天基本都是改KeyDown或者PreviewKeyDown这种事件的形式,还是想弄个MVVM的写法,于是参考的StackOverflowpublic class MyTextBox : TextBox{ //private static readonly Regex regex = new Regex("^[a-zA-Z]+$"); protected override...原创 2020-04-28 15:40:45 · 992 阅读 · 0 评论 -
WPF自定义最大化最小化关闭按钮
WPF自定义最大化最小化关闭按钮当觉得界面自带的最大化最小化关闭按钮不好看,或者想换个位置的时候,你需要自定义最大化最小化关闭按钮最大化按钮最大化按钮有两种状态:最大化,跟还原状态两种显示方式。做法:定义command为SystemCommands.XXXCommand。本次使用了DataTemplateSelector,根据当前window的WindowState状态来判断当前窗体状态(如...原创 2018-10-26 10:10:24 · 12325 阅读 · 2 评论 -
WPF的Treeview子节点绑定
WPF的Treeview子节点绑定做法使用HierarchicalDataTemplate 更改DataType。当前ViewModel下有个ObservableCollection类型的EcgProjectList,于是一级节点都是EcgProject类型,EcgProject下有个ObservableCollection类型的Sheets,于是二级节点是EcgSheet类型。如果还想要三级节...原创 2018-10-26 13:50:18 · 1469 阅读 · 0 评论 -
WPF一组拥有多种不同样式的容器
WPF一组拥有多种不同样式的容器这种情况可以使用ListView或者ListBox,我用的ListView,具体ControlTemplate我本来准备用Grid的,因为我当时的需求是固定个数的数组,但是用了Grid,就全部在0行0列处叠起来,怎么改都没用,而且怎么查Stack Overflow也没找到具体方法,于是就放弃了,用的WrapPanel。<ListView ItemTempl...原创 2018-10-26 15:19:02 · 487 阅读 · 0 评论 -
WPF的TreeView的节点选中但失去焦点样式
点击效果失去焦点后怎么做到可以让失去焦点的时候颜色也不变呢你让他在活动和非活动TreeView中,所选项目的前景色和背景色是相同的就行了&lt;TreeView.ItemContainerStyle&gt; &lt;Style TargetType="{x:Type TreeViewItem}"&gt; &lt;Style.Resources&gt;原创 2018-11-01 14:38:04 · 2586 阅读 · 2 评论 -
WPF同时拥有点击事件与Command
StackPanel同时有点击事件与Command:MouseBinding用了LeftClick之后只能用PreviewMouseLeftButtonDown,不加preview都会有一个不运行<StackPanel Orientation="Horizontal" PreviewMouseLeftButtonDown="Button_Click" Cursor="Hand"> ...原创 2018-11-06 17:04:00 · 2926 阅读 · 0 评论 -
WPF的打印预览
WPF的文档使用基本使用文档模版Flow Document,但是单独的Flow Document(流文档)是没法预览的,你必须把它放在一个容器中才可以,流文档的容器有FlowDocumentScrollViewer,FlowDocumentPageViewer,FlowDocumentReader,另外还有DocumentViewer,这个只支持固定流文档(只读)。本次博客就决定界面使用Docu...原创 2018-11-02 17:47:04 · 1776 阅读 · 0 评论 -
选中ListBoxItem中的TextBox,就选中ListBox的SelectedItem
首先先设定Style。其中触发器的Property为UIElement.IsKeyboardFocusWithin&amp;lt;Style TargetType=&quot;{x:Type ListBoxItem}&quot; x:Key=&quot;ListBoxItemStyle&quot;&amp;gt; &amp;lt;Style.Triggers&amp;gt原创 2019-03-11 18:43:22 · 1290 阅读 · 0 评论 -
WPF中Image的图像太平滑,更改为有像素格的那种
Image图拉伸之后发现图太平滑了。我想要的是平常打开图拉伸之后会有一个个明显的像素格那种。根据stackoverflowRenderOptions.SetBitmapScalingMode(imageDisplay, BitmapScalingMode.NearestNeighbor);或者<Image RenderOptions.BitmapScalingMode="Neares...原创 2019-06-20 16:14:31 · 697 阅读 · 0 评论 -
TreeView的ContextMenu绑定了Command但是CommandParameter总为null
根据WPF的Treeview子节点绑定,我需要菜单按钮点击之后进入ViewModel而非后台代码,因此我修改了代码。<TreeView x:Name="treeView" ItemsSource="{Binding EcgProjectList}" Cursor="Hand" Background="{DynamicResource ProjectListColor}" BorderThi...原创 2019-08-01 10:32:18 · 1006 阅读 · 0 评论 -
WPF中TextBox更改完了之后进行操作
WPF中TextBox的Text更改的相关方法有两种,TextChanged和SourceUpdated原创 2019-08-01 10:54:23 · 5202 阅读 · 5 评论 -
WPF中binding一个dictionary
参考Stack Overflow界面上的绑定必须加上Path=,不加绑定就失败了。其次,我这里是一个key为枚举的字典,因此必须给类型名,且必须写上类的路径。xmlns:MyNameSpace="clr-namespace:MyNameSpace"。这是类与枚举的定义namespace MyNameSpace{ enum MyEnum { first, second } c...原创 2019-09-03 19:00:24 · 3331 阅读 · 0 评论 -
WPF多个按钮点击切换样式
WPF多个按钮点击切换样式本文主要讲述WPF中多个按钮,点击状态为一个样式,未点击状态为一个样式,两种样式通过点击这个动作会发生改变,点击另一个按钮,当前已点击的按钮样式也改变的情况。不复杂样式的多个按钮主要做法就是将按钮使用radiobutton来代替,然后各个radiobutton的GroupName取名为同一个,如本例中就是取名为“button1”。&lt;RadioButton ...原创 2018-10-25 18:04:36 · 7515 阅读 · 0 评论