Wpf
黑夜de骑士
建筑信息化/智慧城市/数字孪生-资深研发
北京建筑设计院-数字化外聘专家
Autodesk开发联盟-行业个人开发代表
多家国企央企设计院-数字化专家
多家建筑信息化创业公司-技术顾问
展开
-
WPF之Expander Header属性自定义设置
一、 背景小伙伴们在WPF中使用Expander时,是否需要对Expander的Header属性自定义呢设置呢?二、解决方案可以将Expander的Header属性,单独拿出来进行设置 <Expander > <Expander.Header> <StackPanel> <Border Height="5" Width="5" /> <Tex原创 2020-09-08 16:25:51 · 2656 阅读 · 0 评论 -
WPF之窗体大小随着控件大小变化
一、背景小伙伴们在使用WPF过程中,是否需要让窗体尺寸,随着控件大小变化而变化呢?二、解决方案将Window的 Window.SizeToContent根据控件尺寸发生变化的方向设置为Height,Width,或者WidthAndHeight就行了三、注意事项1.大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出BIM相关软件开发、移动互联网开发以及游戏编程干货;2.欢迎加入建筑信息化开发交流群,获取更多开发资料 群号:7118442163.欢迎关注微信公众号,“工程人的编程课堂”原创 2020-09-08 16:21:34 · 4303 阅读 · 0 评论 -
Wpf之获取当前主窗体
一、背景小伙伴们在Wpf开发时,是否有从子窗体获取主窗体以及主窗体中控件的需求呢?其实用不到复杂的委托,简单的解决方案如下。二、解决思路比如我们的主窗体叫做MainWindow,有一个TextBox文本框,名字为txb,现在我们在子窗体的xaml代码中来获取这个txb MainWindow mainWindow = (MainWindow) Application.Current.MainWindow; string fatherInformation = mainWindow.txb.Tex原创 2020-07-22 17:46:21 · 4560 阅读 · 0 评论 -
Wpf之在System.Windows.StaticResourceExtension 上提供引发了异常
一、背景在Wpf项目中添加了一个资源文件MaterialDesign.xaml,然后在MainWindow的xaml中引用如下 <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="MaterialDesign.xaml"/&g原创 2020-07-22 16:05:23 · 1779 阅读 · 0 评论 -
Wpf之未能在命名空间System.Windows.Markup中找到类型名IComponentConnector
一、背景小伙伴们在做WPF开发时,是否碰到以下错误呢?二、解决思路其实第三个错误CS1069已经提示了,需要添加System.Xaml的引用。这个时候,我们在引用管理器中找到这个,然后添加到项目中,重新生成,问题即可解决!三、注意事项1.大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出建筑信息化开发、移动互联网开发以及游戏编程干货;2.欢迎加入建筑信息化行业开发交流群,获取更多开发资料 群号:7118442163.欢迎加入U3D魔法师交流群,共同学习进步,群号:1105535原创 2020-06-23 15:19:25 · 2307 阅读 · 0 评论 -
Wpf中MVVM之Visibility 属性绑定
一、背景小伙伴们在Wpf中使用MVVM设计时,控件的Visibility 属性如何绑定呢?二、思路不需要对Visibility 进行值转换器,直接按照普通属性方式绑定即可。XMAL代码 <GroupBox Header="groupBox" Visibility="{Binding Visibility }"/ >ViewModel中的C#代码设置通知属性 private Visibility visibility; public Visibility原创 2020-06-23 14:49:18 · 8797 阅读 · 6 评论 -
wpf之调用线程无法访问此对象,因为另一个线程拥有该对象
一、背景小伙伴们在做wpf开发时,如果在子线程中去设置主线程中UI控件的属性,很可能会出现“调用线程无法访问此对象,因为另一个线程拥有该对象”。如何解决呢?二、解决思路比如我们的wpf控件是一个TextBox,名字是tbResult,现在需要在子线程中,修改其Text属性,那么如何实现呢?使用以下代码即可: this.tbResult.Dispatcher.Invoke(new Acti...原创 2019-10-24 13:22:22 · 1048 阅读 · 0 评论 -
wpf之图片路径问题
一、背景小伙伴们在wpf开发时,可能需要显示图片,那么如何准确的获取图片呢?二、解决思路第一步,在当前项目下创建一个PIC文件夹,这里就是存放我们需要的图片的地方。第二步,将项目需要使用的图片直接复制粘贴到项目的PIC文件中这个时候我们会发现,在本地文件夹下面,这个图片也有了。第三步,在xmal代码中,直接写下如下代码 <Image Source="/07WPFShow...原创 2019-10-18 17:04:24 · 2268 阅读 · 1 评论 -
wpf之pdf的显示
一、背景小伙伴们在wpf开发时,可能需要显示pdf,那么如何实现呢?二、思路1.首先需要电脑上有pdf阅读器,adobe系列或者福昕阅读器等2.在wpf中使用WebBrowser控件话不多说,直接上代码界面中的代码<Window x:Class="PdfDemo.MainWindow" xmlns="http://schemas.microsoft.com/wi...原创 2019-10-11 12:56:35 · 5222 阅读 · 5 评论 -
Window.Resource与App.Resource区别
背景为了让自己设计的Wpf界面变得好看[HuaLiHuShao],通常需要添加外部资源。思考这个时候小伙伴们就会有一个疑惑了,添加到Window.Resource与App.Resource中有什么区别呢?区别App.xaml中的资源是针对整个应用下的所有界面MainWindow.xaml中的资源则是针对当前使用的窗体界面代码书写App.xaml中&lt;Application.R...原创 2019-02-18 19:52:05 · 2484 阅读 · 0 评论 -
MainWinodow.Xmal 启动方式
背景大家在新建Wpf项目的时候,会发现程序会自动添加一个app.xmal,如下图并且app.xaml里面有一行代码,是来启动MainWindow的,如下StartupUri=&quot;MainWindow.xaml&quot;思考这个时候不禁会有一个疑惑?一定要通过app.xaml启动MainWindow吗?答案是否定的,完全可以通过MainWindow mainWindow = new Main...原创 2019-02-18 19:42:38 · 485 阅读 · 0 评论 -
页(page),用户控件(userControl),窗口(window)区别
背景大家在vs中新建wpf项目后,会发现在添加新建项时会出现下列三个选项它们有什么区别呢?区别:页:通常用于网页窗口:通常一个桌面app只有一个主窗口用户控件:控件需要被重复用时,比如在很多窗口中,用同一个日历控件简而言之:一个主窗口可能存在多个用户控件,一个用户控件可以在多个主窗口中进行使用使用:通常在我们做app界面时,首先会新建一个主窗口,如果有一些需要复用的控件的话...原创 2019-02-18 19:30:40 · 7595 阅读 · 1 评论 -
如何在Revit中引入WPF界面(通俗易懂)
背景小伙伴们在做revit二次开发时,为了丰富开发内容,会有引入界面的需求。作为窗体程序开发,基本上有Winform与WPF两种界面,笔者推荐使用WPF。理由如下:Winform Vs WPFWinform是上一代的界面技术,而WPF是较新的界面技术,在特效方面比Winform强很多Autodesk Revit团队推荐使用WPF好了,下面开始介绍如何在revit中引入WPF界面。方...原创 2019-02-22 18:37:33 · 6793 阅读 · 5 评论