- 博客(59)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 C#中调用DLL时未能加载文件或程序集错误的处理方法(详解)
被引用的项目生成的目标平台是x86,而项目本身是AnyCPU。因此,两者的不一致导致异常的出现。其解决办法如下:将引用的项目与本项目改为相同的生成目标平台(建议X86)项目->属性->生成->目标平台->x64(与dll平台一致)试图加载格式不正确的程序。
2022-11-04 09:32:37
5243
1
原创 WPF .cs中使用资源文件中的ControlTemplate或Style并找到控件
WPF.cs中使用资源文件中的ControlTemplate或Style并找到控件。
2022-08-02 14:17:28
618
原创 WPF Initialized事件在.cs中绑定不被触发的原因
原因一:绑定顺序的问题,若想执行此事件,需绑定在InitializeComponent()之前
2022-06-28 17:25:54
283
原创 WPF TabControl切换TabItem时没有SelectionChanging
问题:WPF TabControl切换TabItem时没有SelectionChanging事件解决方案:可以用TabItem的PreviewMouseLeftButtonDown事件代替XAML中:.cs中:
2022-06-15 16:13:11
2388
2
原创 WPF 窗体设置为WindowStyle=“None“后Maximized会覆盖任务栏
解决方案:在Window的XAML里加MaxHeight="{StaticResource {x:Static SystemParameters.MaximizedPrimaryScreenHeightKey}}"
2022-05-12 15:42:11
537
原创 WPF TabControl切换选项卡缓慢
原因:切换选项卡时会卸载TabItem内的用户控件,再次点击时会重新加载用户控件,如果主要的逻辑代码位于用户控件的Loaded事件中,将会再执行一遍,导致缓慢。解决方案:将Loaded事件内的代码移至初始化控件中...
2022-04-24 15:24:43
2226
原创 通过WinForm控件创建的WPF控件无法输入的问题
在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行;但在我的机器上却是好好的。最开始以为是输入法的问题,弄了好一阵子后,终于找到了原因:虽然这个程序是个WPF程序,但为了复用之前的部分代码,使用着一个WinForm的菜单控件,后续的子窗口都是通过这个WinForm菜单创建的。而用WinForm控件创建的WPF控件可能出现无法正确响应键盘事件的情况。找到了原因后,一个常规的解决方法是:将WinForm控件换成WPF控件,如果WinForm控件比较容易替换的话用这种方式是可以一次性的解决问题的。
2022-04-21 19:07:41
546
原创 WPF RichTextBox赋值与取值
赋值: richTextBox1.Document.Blocks.Clear(); Run run = new Run(innerMessage); Paragraph p = new Paragraph(); p.Inlines.Add(run); richTextBox1.Document.Blocks.Add(p);取值:TextRange textRange = ne
2022-04-21 16:36:44
1803
转载 WPF学习笔记——概述
如果你选择WPF,多半原因是因为折服于它那震撼性的用户体验。纵观WPF整个知识体系,其内容并不复杂,但却比较细碎,不易理清。以下内容是对WPF部分内容的简单概括,希望读者能够对WPF框架有个大体认识。一 常用类型与继承树WPF的常用类型如下: 二 分辨率无关性WPF使用设备无关单位度量。一个设备无关单位被定义为1/96英寸。WPF使用下面的公式进行计算:[物理单位尺寸]=[设备无关单位尺寸]*[系统DPI]三 WPF缺少的功能与Windows窗体相比 缺少类似以下功能或控件:MaskedT
2022-04-21 16:14:30
191
原创 WPF退出窗口方法
一、WPF启动窗口方法public partial class App : Application{ protected override void OnStartup(StartupEventArgs e) { this.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative); base.OnStartup(e); }}二、WPF退出窗口方法1、关闭当前窗口this.Clos
2022-04-20 14:19:31
7542
原创 WPF-疑难问题-xaml编码导致中文字符编译无效
问题:xaml编码导致中文字符编译无效解决方案:修改文件编码Visual Studio 2019修改编码UTF-8文字步骤VS 2019隐藏了高级保存功能,导致没办法直接去设置代码编码 UTF-8。那么我们直接把高级保存功能调用出来即可:单击“工具”|“自定义”命令,弹出“自定义”对话框。单击“命令”标签,进入“命令”选项卡。在“菜单栏”下拉列表中,选择“文件”选项。单击“添加命令”按钮,弹出“添加命令”对话框。在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”
2022-04-20 10:35:02
554
原创 【WPF学习】 使用其他名称空间中的类型
为使用未在WPF名称空间中定义的类。需要将.NET名称空间映射到XML名称空间。XAML有一种特殊的语法可用于完成这一工作,该语法如下所示:xmlns:Prefix=“clr-namespace:Namespace;assembly=AssemblyName”通常,在XAML文档的根元素中,在紧随声明WPF和XAML名称空间的特性之后放置这个名称空间。还需要使用适当的信息填充三个斜体部分,这三部分的含义如下:Prefix是希望在XAML标记中用于指示名称空间的XML前缀。例如,XAML语法使用x前缀。
2022-04-19 17:02:21
404
原创 winfrom ListBox根据鼠标位置选中项
private void PopUpListBox_MouseDown(object sender, MouseEventArgs e) { if (SelectItem != null) { GetItemAt(this, e.X,e.Y); // MessageBox.Show("MouseDown" + base.SelectedIndex.ToString()); .
2022-04-19 09:59:09
829
原创 wpf - 打开WPF用户控件winform窗口缩小父winform窗口
简单暴力方法调用wpf窗口改变了原程序窗体的style,或者是winform程序启动时应用的style跟wpf设置的style不一样。如果new一个wpf window,wpf内部更改了程序的style,那么就回解决这种变形情况。在winform 的program.cs 中加入new WPFTextForm()(随便一个wpf窗体); 语句。方法奇葩...
2022-04-13 14:04:42
675
原创 WPF 获取当前TreeView的TreeViewItem
#region 获取控件 //获取当前TreeView的TreeViewItem public TreeViewItem GetParentObjectEx<TreeViewItem>(DependencyObject obj) where TreeViewItem : FrameworkElement { DependencyObject parent = VisualTreeHelper.GetParent(obj);
2022-04-12 11:35:57
1286
原创 wpf 的 Window或UserControl绑定自己后台属性
后台:public string Name{get;set;}XAML 三种绑定方式:1.<Window> {Binding Name, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}</Window><Window x:Name="Wd"> <TextBlock Text="{Binding Name, ElementName=Wd}"
2022-04-12 09:42:18
1942
转载 WPF自定义控件踩坑记录,用户自定义控件 绑定后台定义的 命令 依赖项属性 注意事项 静态
项目中做了一个拼音键盘的自定义控件,主要作用是在该控件上打字并输出到引用的页面上。由于代码中有很多按钮,这些按钮的Command都被绑定到自定义控件的后台代码的一个静态命令上了。。。。。。。复制代码 private static readonly RoutedCommand _clickCmd = new RoutedCommand("ClickCmd", typeof(FullKeyboardWithPinyin)); public static RoutedCommand ClickC
2022-04-12 09:34:14
463
原创 Winform控件在WPF中的样式和真正WinForm窗体内的不同
原因:引用于https://www.zhihu.com/question/48925705WPF 项目在默认没有内嵌某个 manifest 或没有调用某 API 的情况下默认使用 Version 5 的 ComCtl32.dll,而只有 Version 6 的才会让系统控件显示成现在系统真正的样子解决方法也很简单——找个有声明使用 ComCtl32.dll Version 6 的 manifest 添加到项目并在项目属性里指定它,或者在 App.OnStartup() 里直接调用 System.Windo
2022-04-07 16:43:47
176
原创 WPF 树节点展开收缩
#region 树节点展开收缩 // 全部收缩 private void CollapseAll() { foreach (var item in this.Items) { DependencyObject dObject = this.ItemContainerGenerator.ContainerFromItem(item); Collaps
2022-04-07 16:39:48
543
转载 WPF性能优化经验总结
WPF性能优化经验总结WPF性能优化一、Rendering Tier根据硬件配置的不同,WPF采用不同的Rendering Tier做渲染。下列情况请特别注意,因为在这些情况下,即使是处于Rendering Tier 2的情况下也不会硬件加速。(不全,其余请查阅SDK)WPF性能优化二、布局和设计1.尽量多使用Canvas等简单的布局元素,少使用Grid或者StackPanel等复杂的,越复杂性能开销越大。2.建立逻辑树或者视觉树的时候,遵循Top-Down的原则。WPF性能优化三、图像1
2022-03-31 17:17:15
1256
原创 WPF CheckBox XAML写IsChecked=True/false无用
变量里用到了 /// <summary> /// 当前Order /// </summary> public Order Order { get { this.GetOrder(); return this.myorder; } set
2022-03-28 16:32:38
707
原创 WPF PreviewKeyDown KeyDown PreviewKeyUp KeyUp 键盘事件的区别
PreviewKeyDown =按下按键之前示例:如果您在文本框上有事件,则按下的当前按键不会添加到TextBox.Text中PreviewKeyUp =在放开钥匙之前KeyDown =按下键后示例:如果您在文本框上有事件,则按下的当前按键将被添加到TextBox.Text中KeyUp =放开钥匙后放开所以这又取决于你想要做什么。 如果你想添加TextBox验证,使用PreviewKeyDown忽略文本,如果它不正确。如果你想在用户放开空间的时候做一些事情,那么我们使用KeyUp这一切都取决
2022-03-22 09:53:18
2010
转载 WPF DatePicker默认显示当前日期
WPF的日历选择控件默认为当前日期,共有两种方法,一种静态,一种动态。静态的当然写在DatePicker控件的属性里了,动态的写在对应的cs文件里,具体请看下面。1.方法一:myDatePicker.Text = DateTime.Today.ToLongDateString();2.方法二:先在窗体头部引入命名空间: xmlns:sys="clr-namespace:System;assembly=mscorlib"然后: <DatePicker SelectedDate="
2022-03-16 17:10:36
1282
转载 解决Winform中弹出WPF窗体不能在文本框中输入的问题
在WinFrom应用程序中,若调用一个WPF的窗体,则弹出后,在文本框中不能输入数字,这是因为WPF窗体WinForm应用程序交互中,不能响应键盘操作信息所致。解决方法如下:引用WindowsFormsIntergation.dll这个类库,并使用如下代码:Window winWPF = new Window(); //WinWPF为想要显示的WPF窗体。System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardIntero
2022-03-16 17:02:53
1384
原创 VS2019设置默认管理员权限启动
问题:创建组件时对注册表的访问被拒原因:权限不够,使用管理员运行VS可解决解决方案:找到vs安装目录下的:\Common7\IDE\devenv.exe右键->兼容性疑难解答->疑难解答程序->勾选改程序需要附加权限->测试后下一步->保存设置。以后都默认使用管理员权限启动vs2019了。...
2022-03-07 16:50:39
1315
原创 WPF方便的调用FarPoint
一、安装FarPoint二、创建WPF项目三、引用farpoint相关dll四、引用winform的相关dll:System.Windows.Forms.dll五、引用winfrom与WPF的窗台整合dll所需dll截图六、新建一个winfrom用户控件,使用farpoint创建一个表格通过右键spread design可以直接使用farpoint编辑器七、WPF窗体使用用户控件XAML写法:<Window x:Class="WpfFarPoint3._0.MainWind
2022-03-07 16:48:20
904
原创 处理Json数据中的日期类型.如/Date(1415169703000)/格式
var TaskTime="/Date(1632638119020)/";var jsondate = TaskTime;//转换日期TaskTime=eval(jsondate.replace(/\/Date\((\d+)([\+\-](\d\d)(\d\d))?\)\//gi, "new Date($1)")).toLocaleDateString();alert(TaskTime);
2021-09-26 18:42:05
582
原创 asp.net 绑定的数据源想更改某字段的显示,三目运算符不符合时,可采取如下办法
在asp中绑定数据源时如果某个字段在数据库值为0,1等,但却想显示其代表的正确文字型的含义可做如下转换(以”TestPaperType“为例)前台写法:<asp:Label ID="TestPaperType" runat="server" Text='<%# Type(DataBinder.Eval(Container.DataItem, "TestPaperType"))%>' Width="150px"></asp:Label>后台写法: //套餐类型
2021-09-18 14:39:55
159
原创 onclick如何跳转到其他页面,Javascript跳转页面和打开新窗口等方法
如果是本页显示可以直接用location,方法如下:①οnclick=“javascript:window.location.href=‘URL’” ②οnclick=“location=‘URL’” ③οnclick="window.location.href=‘URL?id=100’"☆如果页面中有frame可以将在location前面添加top.mainframe.frames[‘right_frame’].location1.在原来的窗体中直接跳转用onClick="window.l
2021-09-18 09:15:14
14465
原创 jQuery获取兄弟元素
1.next();//获取当前元素的下一个兄弟元素2.nextAll();//获取当前元素后面所有的兄弟元素3.prev();//获取当前元素的前一个兄弟元素4.prevAll();//获取当前元素前面的所有兄弟元素5.siblings();//获取当前元素的所有兄弟元素6.children();//获取一个元素的直接子元素,类似于 $(‘ul > li’)7.find();//获取一个元素的某种所有子元素,类似于 $(‘ul li’)8.parent();//获取当前元素的父元素.
2021-09-18 08:47:15
8729
原创 js遍历getElementsByClassName并取其某些内容拼接为数组
html内容:<div> <div class="danti"> <span>1.</span> <div class="content"> 内容1content <div> <div class="answer"> 内容1answer </div> </div> <div class="danti"> <span>2.</sp
2021-09-17 11:38:28
1088
原创 python3的reload(sys)
在python3中这样写报错改为:import importlib,sys importlib.reload(sys)
2021-09-08 19:00:17
1084
转载 ModuleNotFoundError: No module named ‘urlparse‘
这是2.x转3.x问题2.x写法:from urlparse import urlparse3.x写法:from urllib.parse import urlparse
2021-09-08 18:52:57
2250
原创 python 3.7 from collections import Iterable报错
使用from collections import Iterable报错,报错提示:DeprecationWarning: Using or importing the ABCs from ‘collections’ instead of from ‘collections.abc’ is deprecated, and in 3.8 it will stop workingfrom collections import Iterable解决方法:改成 from collections.abc imp
2021-09-08 18:44:22
787
原创 AForge “未能加载文件或程序集“AForge.Video.FFMPEG.dll”或它的某一个依赖项。找不到指定的模块”
问题:未能加载文件或程序集“AForge.Video.FFMPEG.dll”或它的某一个依赖项。找不到指定的模块。1.Aforge.Net子项目有个AForge.Video.VFW提供了对Avi文件的操作,AForge后面加入了子项目 AForge.Video.FFMPEG 通过FFmpeg库,提供了对大量视频格式的支持,我们都知道,FFmpeg是一个非常强大的视频处理类库,同样也是开源的,不过 AForge.Video.FFMPEG 还处于实验阶段,目标是用 FFmpeg 取代 AForge.Video
2021-07-01 18:18:53
2869
原创 WPF TextBox限制只能输入数字的两种方法
MainWindow.xaml:<Window x:Class="wpfcore.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
2021-07-01 09:07:03
3141
1
原创 C#正则表达式提取指定词语出现的索引位置
int index = 0; MatchCollection matches = Regex.Matches(str, "你好啊"); foreach (Match item in matches) { index=item.Index; }
2021-06-05 16:29:53
587
TA创建的收藏夹 TA关注的收藏夹
TA关注的人