![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
wpf
g0415shenw
Stay hungry,Stay foolish
音视频交流群:759117824
GB28181技术交流群:708251501
UE4技术交流群:1036326334
展开
-
Wpf之无法添加wpf窗体
今天开始创建了一个类,但是无法创建wpf窗体。后来发现,只要在csproj文件里面添加如下内容即可<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>截图如下:效果如下:已经可...原创 2020-02-05 13:51:19 · 1053 阅读 · 0 评论 -
wpf之DragDrop研究
想要实现一个效果,当鼠标拖拽的时候,有一个跟随的窗口,随着鼠标移动。相关步骤如下:1,启动拖拽 DataObject dataobj = new DataObject("1"); DragDrop.DoDragDrop(DirectoryTree, dataobj, DragDropEffects.Move);2,创建一个窗体 ...原创 2020-01-30 13:11:16 · 838 阅读 · 0 评论 -
wpf之界面控件MaterialDesignInXAML
github地址如下:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit在下面的公众号中看到使用:https://mp.weixin.qq.com/s/tPzvk_MunqSRl7Uva7z2DA原创 2020-01-30 12:36:49 · 3057 阅读 · 0 评论 -
Wpf之无法获取鼠标点击事件
非常奇怪,在xaml里面写的时候,就是无法获取点击事件,卸载代码里面就OK了。记录一下增加事件处理tree.AddHandler(Button.MouseDownEvent, new MouseButtonEventHandler(Tree_MouseDown), true);处理函数如下:private void Tree_MouseDown(object sender...原创 2020-01-12 22:20:15 · 585 阅读 · 0 评论 -
Wpf之元素绑定元素属性
wpf可以一个元素的属性,绑定给另外一个元素。用法如下: <Grid Grid.Column="0" x:Name="CamResGrid"> <ScrollViewer Height="{Binding ElementName=CamResGrid,Path=ActualHeight}" Width="{Binding Eleme...原创 2020-01-12 16:30:29 · 752 阅读 · 0 评论 -
Wpf之Tree使用Dictionary作为数据源
list作为数据源网上实例比较多,但是Dictionary作为数据源,网上很少。其实两者使用基本上一样,主要差异在于数据绑定的时候,使用Value.属性直接上xaml<Window x:Class="MvvmTree.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentatio...原创 2020-01-11 20:31:36 · 359 阅读 · 0 评论 -
wpf之访问当前程序下的图片
如下:主要使用pack这种形式public BitmapImage GetBitmapImage(string argName, string argCatalog = null) { try { string path = string.Empty; if (st...原创 2019-12-15 21:35:07 · 279 阅读 · 0 评论 -
wpf之附件属性
今天遇到一个需求,我需要在一个button里面添加一个自定义的属性。这个应该如何实现呢?后来通过研究,发现可以使用附件属性来实现写一个基础类 public class ElementBase { /// <summary> /// 注册属性 /// public static readonly DependencyP...原创 2019-12-15 15:55:43 · 374 阅读 · 0 评论 -
wpf之auto与*的区别
auto 的含义是 如果暂用空间为0 就不暂用控件*表示剩下的空间进行分配举个例子 <Grid.ColumnDefinitions> <ColumnDefinition Width="*"></ColumnDefinition> <ColumnDefinition Width="3...原创 2019-11-11 21:37:31 · 337 阅读 · 0 评论 -
wpf之内容超出布局是用滚动条
这里使用ScrollViewer控件。代码如下: <ScrollViewer VerticalScrollBarVisibility="Auto" Height="200" Width="100"> <StackPanel > <Button Height="50"></Butto...原创 2019-11-06 15:53:57 · 1901 阅读 · 0 评论 -
wpf之图标网址
https://www.iconfont.cn/search/index?searchType=icon&q=&page=3有不少好的图标原创 2019-11-05 16:26:58 · 391 阅读 · 0 评论 -
wpf之windows设置WindowStyle为None
设置无窗口边框:AllowsTransparency="True"设置窗口可以拖动增加事件:处理方法如下: private void Window_Loaded(object sender, RoutedEventArgs e) { this.MouseDown += delegate { DragMove(); ...原创 2019-11-04 22:01:33 · 879 阅读 · 0 评论 -
wpf之自定义控件
现在已经会了通过blend,制作控件的style和模板了,但是,我今天提出了一个想法,我能否自己写一个像button那样的控件类呢?然后我的应用程序直接继承我自己写的类,就可以直接像button类那样呢?说的通俗一点,举个例子,我想写个控件,但是需要设置一个image,暂用button的一半大小。但是原先的button类根本没有这个属性来给与赋值,我需要自定义一个属性。。这就是我要干的事情:...原创 2019-11-03 20:48:15 · 660 阅读 · 0 评论 -
wpf之blend之自定义最小化按钮
每次看到别人写的sytle,都非常的羡慕。我一直在想,就看着xaml,就能写出漂亮的控件吗?我觉得不太现实啊。后来,经过这几天的学习,我了解到了blend这个工具,可以编写可视化的sytle,而且居然能自动生成xaml。今天的任务是做一个按钮控件,如下图:最小化控件代码如下:<Window x:Class="BlendOne.Window1" xm...原创 2019-11-02 22:12:18 · 764 阅读 · 0 评论 -
wpf之默认窗口模板研究
wpf默认的窗口模板,真的好丑好丑。但是,非常不满意的上面的边框居然不让修改。今天决定使用Blend对默认的窗口模板进行研究。使用blend新建一个项目右键窗口,点击编辑模板---》编辑副本弹出 如下窗口点击确认之后,就可以看到默认的窗口模板啦。我把代码粘贴出来,进行一下研究<ResourceDictionary xmlns="http://s...原创 2019-11-02 21:15:22 · 517 阅读 · 0 评论 -
wpf之DependencyProperty
DependencyProperty这个属性到底能干嘛?我一直云里雾里,我想我需要写一个demo,先直观的使用他。周老师的理解如下:https://www.cnblogs.com/Zhouyongh/archive/2009/09/10/1564099.htmlhttps://www.cnblogs.com/YunGy/p/5045931.html微软的解读如下:https:/...原创 2019-10-28 19:47:31 · 312 阅读 · 0 评论 -
wpf之他山之石
最近做wpf比较苦恼,研究了这么久,发现做出来界面特别丑,而且没有一点点思路把界面做好。所以决定暂时停止界面开发,把精力放在他山之石上面,在码云或者github上面找一些比较优秀的界面,进行研究,学习wpf界面开发的精髓,我把这次行动取名为他山之石行动,今天是周一,计划持续到周五结束,最后在看下自己想做的界面,再看看有没有思路去把界面做得好看。https://gitee.com/airsc...原创 2019-10-28 18:59:24 · 260 阅读 · 0 评论 -
wpf之StackPanel布局
注意两个参数:Orientation :控制排列是水平方向,还是垂直方向(Horizontal 水平方向 Vertical垂直方向)FlowDirection:控制控件排序是从右往左还是从左往右,写两个简单的demo如下:<Window x:Class="StackPanel_One.MainWindow" xmlns="http://schemas.mic...原创 2019-10-26 22:13:48 · 2487 阅读 · 0 评论 -
wpf之背景色渐变
xaml代码如下: <Grid.Background> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <GradientStop Offset="0" Color="#3C3C3C"></Gra...原创 2019-10-26 17:04:53 · 2482 阅读 · 0 评论 -
wpf之代码设置背景图片
这里通过ImageBrush来实现背景图片我这里写了个demo,通过鼠标点击事件,来修改背景图片using Common;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Wind...原创 2019-10-26 16:07:54 · 2703 阅读 · 0 评论 -
wpf之代码给grid添加内容
步骤一:Grid.SetRow(titleButton_View, 1);步骤二: ((Grid)Content).Children.Add(titleButton_View);效果如下:原创 2019-10-25 22:03:01 · 1418 阅读 · 0 评论 -
wpf之MVVM绑定背景色
首先需要绑定一个参数Background="{Binding bk,UpdateSourceTrigger=PropertyChanged}"定义一个参数 SolidColorBrush _bk; public SolidColorBrush bk { get { ret...原创 2019-10-25 10:38:58 · 2787 阅读 · 0 评论 -
wpf之通过MVVM绑定MouseEnter
今天想通过MVVM来绑定MouseEnter事件,现在尝试如下:首先需要安装包:再引入命名控件:xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"再在VM里面编写鼠标移动的处理事件<Window x:Class="MvvmMous...原创 2019-10-24 22:37:45 · 2429 阅读 · 0 评论 -
wpf之lable右下角放关闭图标
效果如下:看右下角的关闭图标,丑一点就丑一点吧。我的需求如下:鼠标移动上去,背景颜色改变为蓝色,关闭图标出现。鼠标移动走,背景变成黑色,关闭图标隐藏。为了实现这样一个简单的功能,我居然研究了2天,心累。。现在把遇到的坑记录一下,留作纪念。第一个坑lable控件默认的坑不为0,需要把Padding="0" 设置为0 不然的话grid不会和lable<La...原创 2019-10-23 23:56:46 · 376 阅读 · 0 评论 -
wpf之样式属性、事件、触发器
wpf的样式可以把属性一样的设置写在样式里面,这样可以减少代码量。举个简单的例子:<Window x:Class="WpfPictureClick.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas....原创 2019-10-23 20:18:04 · 811 阅读 · 0 评论 -
wpf之窗口ShowDialog
今天遇到一个很奇怪的问题,在wpf的OnStartup里面,启动一个窗口,关闭后,在启动另外一个窗口,但是ShowDialog会直接返回退出。非常诧异。经查资料,参考下面:https://blog.csdn.net/wujingang/article/details/77800231发现如果先把窗口都先new出来,然后再ShowDialog第一个,关闭后,再ShowDialog第...原创 2019-10-22 21:01:18 · 764 阅读 · 2 评论 -
Wpf之MVVM线程问题
话说,Wpf更新界面,只能在界面线程进行更新,但是今天我在用MVVM的时候,居然发现,可以在另外一个线程更新界面元素?非常奇怪,猜测:难道MVVM框架已经做到了自己会通知到界面元素尝试如下:这是一个界面鼠标的点击处理时间 private async void CmdLoginEvent(object obj) { { ...原创 2019-10-20 10:14:21 · 865 阅读 · 0 评论 -
wpf之编译错误
截图如下:解决方案如下:按照下面的修改,据说可以结果如下:原创 2019-10-16 15:38:57 · 584 阅读 · 0 评论 -
wpf之MEF+MVVM结合
最近想写一个基于wpf的客户端,想采用MEF插件的模式开发各个界面插件。界面的插件采用MVVM框架搭建。先说一下MVVM,这里我有一点非常疑惑,M表示module,V表示view VM表示界面的数据绑定。但是实际开发中,我感觉module的作用好小。我可以直接在VM中处理这些工作啊,比如界面的消息处理,可以在VM里面处理,外部传递过来的数据,也可以在VM里面处理,为什么要Module呢?...原创 2019-10-15 23:25:44 · 1709 阅读 · 0 评论 -
wpf之MVVM
MVVM模式早就久仰大名,wpf采用MVVM模式后,我们只需要给属性赋值即可,不再需要去手动操作界面元素,大大减少了界面的开发工作量。本章,通过解读一个MVVM的实例,来对MVVM模式有个大概的了解。首先大概看下结构:分为Models Views ViewModels 。取每个前面第一个字母 就是MVVM那么这3个模块都是干嘛的呢?Models定义了一个类 ...原创 2019-10-10 23:25:15 · 409 阅读 · 0 评论