WPF TextBlock 调整下划线与文字的距离

<TextBlockForeground="#ff8a00"FontWeight="Bold"Width="100"TextWrapping="Wrap"Text="PROSoftwareVersion"FontSize="12"Padding="5"><TextBlock.TextDecorations><TextDecorationCollection>  <!--<TextDecorationPenThicknessUnit="Pixel"/>-->  <TextDecorationPenOffset="3"/></TextDecorationCollection></TextBlock.TextDecorations></TextBlock> 通过PenOffset属性调整下划线与文字的距离 ...

WPF ProgressBar 样式

<ProgressBarGrid.Row="2"Foreground="#45d207"IsIndeterminate="True"Margin="0"Background="#eaefef"></ProgressBar>效果如下: Foreground为移动的进度条;IsIndeterminate设为True时,进度条能够左右移动;Background为ProgressBar的背景;...
代码星球 代码星球·2020-06-13

WPF字符串中的换行符

<sys:Stringx:Key="NewUpdateWillShow"xml:space="preserve">第一行&#13;第二行&#13;</sys:String>换行符为&#13;必须加上xml:space="preserve",否则换行符无效。...

DirectX OpenGL and WPF

DirectXOpenGL和WPF都有2D和3D的渲染引擎,只不过DirectX和OpenGL采用原始的C/C++式的封装,同时DirectX是以COM接口的形式提供的,OpenGL是C函数式库,而WPF提供的2D,3D功能则是以.net类库提供的,从性能上来说DirectX和OpenGL的原生代码比WPF的托管代码更好。从可移植性上来说,OpenGL是跨平台的,而DirectX是以COM接口提供的所以从理论上将也是跨平台的。而WPF只能用于Windows家族。在说一下GDI+,其实就是利用OOP的思想将Win32GDI进行了封装,从而产生的C++类库。关于上述三者的比较,参考:IsWPF3DgoodalternateofDirectXandOpenGLforcomplexapplications?闲话WPFWPF与Win32...
代码星球 代码星球·2020-06-03

WPF中log4net的用法

WPF中如何使用log4nethttp://www.cnblogs.com/C-Sharp2/archive/2013/04/12/WPF-LOG4NET.html Apachelog4netManual:Configurationhttp://logging.apache.org/log4net/release/manual/configuration.html 两点说明:1.WPF中可以不在App.xaml.cs中做Configure()处理,只需要在要打log的文件中,在其开始的头部(如构造函数),写入如下配置程序即可。publicServer(){  log4net.Config.XmlConfigurator.Configure();//onlyconfigonetime  InitializeComponent();} 2.WPF的log4net.config和其他的web.xmlxxx配置不同,具体如下文件: App1.config 配置文件:<?xmlversion="1.0"?><configurat...
代码星球 代码星球·2020-05-29

WPF / Win Form:多线程去修改或访问UI线程数据的方法( winform 跨线程访问UI控件 )

WPF:谈谈各种多线程去修改或访问UI线程数据的方法http://www.cnblogs.com/mgen/archive/2012/03/10/2389509.html 子线程非法访问UI线程的数据,会产生如下错误:InvalidOperationException:Thecallingthreadcannotaccessthisobjectbecauseadifferentthreadownsit.这是由于UI线程的数据不能直接被其他线程访问或者修改。 解决方案:采用Dispatcher类的Invoke()或BeginInvoke()方法:this.Dispatcher.BeginInvoke(new Action(() => Title = "Mgen")); WinForm中没有dispatcher,dispatcher存在于WPF/Silverlight中。如果想在winform中实现异步编程或是跨线程操作可以考虑委托或backgroundworker。 winform中测试通过代...
代码星球 代码星球·2020-05-29

WPFWindows Forms和Silverlight间的联系和区别(转)

WPFWindowsForms和Silverlight间的联系和区别http://blog.csdn.net/bitfan/article/details/6128391 .NETWindowsForms应用程序中使用的GDI+其实是在C++实现的非托管代码之上又包了一层,从而让我们能使用C#这样的托管编程语言调用GDI+功能绘图。 WPF底层使用的是DirectX,就是通常用来开发游戏的那个DirectX。WPFWindowsForms这两者并没有什么关系。按照微软的意图,WPF是用来取代WindowsForm的,所以最新的VisualStudio就使用了WPF开发界面,这是一个很明确的信号。当然,出于兼容目的,WindowsForms与WPF将长期并存,可以把它们看成是两套独立的界面技术。 Silverlight在API层可以看成是WPF的子集,但事实上除了这点之外,Silverlight与WPF并没有任何联系。因为Silverlight应用程序不依赖于.NETFramework,只要用户计算机(或手机)安装有Silverlight运行环境(比如用...

WPF BitmapImage 占用资源无法释放、无法删除问题

使用Image控件显示图片后,虽然自己释放了图片资源,Image.Source=null了一下,但是图片实际没有释放。解决方案:修改加载方式~       publicstaticBitmapImageGetImage(stringimagePath)       {           BitmapImagebitmap=newBitmapImage();           if(File.Exists(imagePath))           {      ...

WPF学习资源整理

WPF(WindowsPresentationFoundation)是微软推出的基于WindowsVista的用户界面框架,属于.NETFramework3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。在WPF的框架下,可以使用C#和xmal语言来设计界面。两种设计方法各自的好处,xmal语言是一种标记性语言,使用比较简单和灵活。C#下设计和一般的设计差别不大,但是要注意WPF下的类和接口等。具体的可以参考相关的教程。WPF浏览器应用程序不同于Silverlight。Silverlight定义了一个WPF子集它不需要把.NETFramework安装在客户机系统中,但需要把一个插件安装在浏览器上,且支持不同的浏览器和不同的操作系统。 WPF学习资源整理: 首推刘铁猛的《深入浅出WPF》系列博文1.深入浅出WPF(1)——什么是WPFhttp://blog.csdn.net/FantasiaX/archive/2008/05/15/2449387.aspx2...
代码星球 代码星球·2020-05-23

WPF编程学习——布局

本文目录  1.布局简介  2.面板(Panel)  3.视图框(Viewbox)  4.滚动视图控件(ScrollViewer)  5.公共布局属性1.布局简介  应用程序界面设计中,合理的元素布局至关重要,它可以方便用户使用,并将信息清晰合理地展现给用户。WPF提供了一套功能强大的工具——面板(Panel),来控制用户界面的布局。你可以使用这些面板控件来排布元素。如果内置布局控件不能满足需要的话,还可以创建自定义的布局元素。2.面板(Panel)  WPF用于布局的面板主要有6个,StackPanel(栈面板)、WrapPanel(环绕面板)、DockPanel(停靠面板)、Canvas(画布)、Grid(网格面板)和UniformGrid(均布网格)。  StackPanel  栈面板,可以将元素排列成一行或者一列。其特点是:每个元素各占一行或者一列。Orientation属性指定排列方式:Vertical(垂直)【默认】、Horizontal(水平)。默认情况下,水平排列时,每个元素都与面板一样高;垂直排列时,每个元素都与面板一样宽。  CheckBox...
代码星球 代码星球·2020-05-13

WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式

一.前言  申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接。本文主要内容:CheckBox复选框的自定义样式,有两种不同的风格实现;RadioButton单选框自定义样式,有两种不同的风格实现;二.CheckBox自定义样式2.1CheckBox基本样式标准CheckBox样式代码如下,实现了三态的显示,其中不同状态的图标用了字体图标(关于字体图标,可以参考本文末尾附录链接)  <Stylex:Key="DefaultCheckBox"TargetType="{x:TypeCheckBox}"><SetterProperty="Background"Value="Transparent"></Setter><SetterProperty="Foreground"Value="{StaticResourceTextForeground}"></Setter><SetterProperty...

Prism完成的一个WPF项目

Prism+MaterialDesign+EntityFrameworkCore+PostgresqlWPF开发总结之终极篇 本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习与总结。总共分三个部分:基础篇主要针对C#初学者,巩固C#常用知识点;中级篇主要针对WPF布局与MaterialDesign美化设计,在减轻代码量的情况做出漂亮的应用;终极篇为框架应用实战,包含系统分层、MVVM框架Prism安装与使用、ORM框架EntityFrameworkCore配置与使用、开源数据库Postgresql配置与使用。目录Prism+MaterialDesign+EntityFrameworkCore+PostgresqlWPF开发总结之基础篇Prism+MaterialDesign+EntityFrameworkCore+PostgresqlWPF开发总结之中级篇Prism+MaterialDesign+EntityFrameworkCore+PostgresqlWPF开发总结之终极篇前言此篇主要介绍系统分层模型、如何安装Prism快速开发...

深入浅出WPF之XAML

XAML是微软创造的一种开发语言,即可拓展应用程序标记语言。扮演了HTML+CSS+JavaScript的角色。PS实践:我们通常下载VisualStudio并直接创建解决方案/项目来开发程序,实际上我们利用IDE针对我们的要开发的代码配置好了编译器的参数,并准备好了一些基本的源代码,省去我们手动配置)默认状态下创建,我们会在当前解决方案下看到一个项目。其中包含以下分支:1.Properties分支:里面的主要内容要用到的资源(图标、图片、静态的字符串)和配置信息2.References分支:标记了当前的项目引用到的类库/其它项目3.App.xaml分支:程序的主体,在Windows系统环境下,一个程序就是一个进程(Process)。一个GUI进程需要一个窗体作为主窗体。App.xaml文件的作用就是声明了程序的进程和主窗体会是谁。4.Window1.xaml分支:程序的主窗体一个.xaml下会有一个.xaml.cs文件我们会看到.xaml.cs文件会有对应的分部类。是不是和winform很相似。拿Window1.xaml和Window1.xaml.cs两个文件来看。Window1.x...
代码星球 代码星球·2020-04-18

WPF】学习笔记(一)——做一个简单的电子签名板

参加实习(WPF)已经有两个多周的时间了,踩了一些坑,也算积累了一些小东西,准备慢慢拿出来分享一下。(●'◡'●)这次呢就讲讲一个简单的电子签名板的实现。先上张图(PS:字写得比较丑,不要太在意哈): 1.任务目标最基本的需求:1.签名功能2.清除签名3.保存签名(让用户选择文件夹、签名保存为PNG格式的图片)尝试额外功能:1.Ctrl+Z实现撤销功能2.Ctrl+Y实现重做功能3.保存签名后打开文件位置并选中文件 2.搞事情1)UI方面如图,总体来说,一个InkCanvas加上两个Button就解决问题了。A.InkCanvas <InkCanvasGrid.Column="1"Grid.Row="1"Background="White"Height="240"Name="ink"><InkCanvas.DefaultDrawingAttributes><DrawingAttributesColor="#FF000000"StylusTip="Ellipse"Height="6"Width="6"IgnorePressure...

WPF视频教程系列笔记

    视频二:XAML基础                       1.顶级元素<Window></Window>,<Page></Page>,<Application></Application>                        2.名称空间很重要。 默认名称空间:xmlns="" ;   另外名称空间:  xmlns:x=...
首页上一页...34567...下一页尾页