WPF Grid 根据内容自适应

WPF Grid 根据内容自适应, 为了能让 Grid 的行和列根据内容自动适应可以通过设置来实现: Grid 表格布局,默认是平均分配,为了便于观察,通过设置 ShowGridLine 显示分界线如下: 行 Row 可以设置行高 Height;列 Column 可以设置列宽 Width; Grid 中 RowDefinition 的 Height 和 ColumnDefinition 的 Width 可以通过以下几种方式来设置: 使用具体数值,固定不变;设置第一行行高为 40,效果如下,第一行的高度就固定为 40 不变了。除非界面的内容固定不变,一般不建议直接使用具体数值。  2. 按比例划分,使用 * 星号, 分配的规则是,把所有的数字相加作为分母,每一个单独的数字作为分子,算出比例,如: 2*,5*,8*; 分母为(2+5+8=15),分子则是(2/15、5/15、8/15): 此时只是比例固定不变,如果界面尺寸变化,对应的内容部分就会变大。   3. 设置为 Auto,根据内容自适应; 只有行设置为 Auto,设置为 Auto 的行高为当前行内容最高的高度,剩下没有设置 Auto 的平均分配剩余的高度,如下: 默认的平均分配 第一行设置 Height = “Auto” 后,如下: […]

VS Code 安装 PHP 调试环境

VS Code 安装 PHP 调试环境, VS Code 全称 Visual Studio Code,光看名字就知道是微软的作品,简单理解就是 一个可以书写以及调试代码的编辑器,即 Visual Studio的清爽版(竞争对手为Notepad++, Sublime Text),因为它支持非常丰富的插件,所以我们可以用它来打造属于自己的 IDE  1.需要安装的软件     Visual Studio Code、     WAMP(包括Apache、MySQL、PHP、以及最关键的XDebug) 2.下载软件      下载并安装 VS Code, 官网       这里下载的是Windows下的安装包版本VSCodeSetup-1.8.1.exe       而WAMP是Windows下的PHP开发整合工具包(Linux下为LAMP),主要集成了Apache、MySQL、PHP和调试用的XDebug, 对于懒人来说是个很好的工具包,安装包了就可以用了,不用担心配置Apache和PHP以及,担心下载到的XDebug与PHP版本不兼容之类的问题       官网 如下:    点击Download下载最新的版本,这里下载的是64位的3.0.6版本 3.安装      3.1.安装WAMP,由于最新版需要依赖VC++ 2012和VC++ 2015类库,如果不安装就会出现一些错误提示:   […]

WPF使用Path来画圆

WPF使用Path来画圆, 在 WPF 中可以使用 Path (路径) 来画圆,而 Path 支持两种写法:xaml 代码格式、标记格式,这里介绍的是标记格式: 例子: 效果: 结合代码解释:1. Stroke 表示圆边框的颜色,这里是黑色 black 2. StrokeThickness 表示边框粗细 3. Fill 表示圆内部的颜色,这里为蓝色 blue 4. Path 的 Data 属性,就是描述当前路径是如何描画的 Data=”M 300,300 A 100,100 0 1 1 300,299 Z”            M 300,300  : 300,300 表示起始坐标,字母 M 为 Move, 意思是将画笔移到 300,300 处;     […]

C# 控制台程序运行完毕保留窗口

简单的控制台程序,例子如下: 启动程序时,程序就会一闪而过,为了解决这个问题,只需要让控制台继续等待输入即可,也就是让控制台保持读取的状态,如: 只需要调用 Console 与 Read 相关的方法,这里有三个:Read()、ReadKey()、ReadLine() 随便调用一个就可以实现我们的需求, 结果:执行上述任何一段代码都能得到以下结果 相关内容:C#控制台程序,运行完窗口不退出的方法 推荐阅读:C# 获取指定目录下的文件

CentOS 7 安装 Redis

Redis 是当下很火的一个内存数据库,并支持不同的操作系统,这里介绍在 CentOS 7 安装 Redis 的过程,更多相关的信息可以登录 redis的官网:www.redis.io CentOS 7 安装 Redis 的步骤如下: 1. 先下载 redis: 2. 解压: 3. 切换如redis目录,然后安装 4. 如果发生异常的解决方法:     因为安装 redis 的过程中需要用到 gcc,所以在执行make命令后,如果有错误信息,可以先尝试安装 gcc      4.1. 安装 gcc      4.2. 解决 error: jemalloc/jemalloc.h: No such file or directory            具体的报错如下:         […]

WPF 使用日期选择器控件 DatePicker

WPF 使用日期选择器控件 DatePicker, 为了能更方面的选择日期,在 .net 4.0 之后,WPF 中提供了相应的控件,显示效果如下:  对应的代码如下: 外层使用 StackPancel 进行布局,水平显示;使用一个 TextBlock 显示 “Choose Date:”;使用一个 TextBox 来显示选择 DatePicker 中的日期;使用一个 DatePicker 核心代码是将 TextBox 的 Text 属性绑定 DatePicker 的 SelectedDate 属性: 点击 DatePicker 控件,显示如下,可以根据需求随意选择日期 默认的显示格式如下:       注意,DatePicker 只能选择日期,而不包含时间部分,如果需要格式化日期的显示,可以通过设置 TextBox 的 StringFormat 属性,如: 而且 DatePicker 也有 SelectedDateChanged 事件,可以在后台代码中使用 SelectedDate 属性, 示例代码如下:注意:SelectDate 属性为 DateTime? 类型(可为空的DateTime类型)既可以获取当前选择的时间,也可以为它赋值 指定日期区间,可以通过 […]

centOS7关闭防火墙的命令

centOS7 下关闭防火墙的命令已经改了,主要通过 systemctl 来管理,如下: 参考: CentOS 7 开放/关闭端口,关闭防火墙 相关链接: CENTOS 7 安装 REDIS

C#中Equals()方法不区分大小写

C#中Equals()方法不区分大小写, 判断字符串时,经常需要判断两个字符串是否相等,而且有时需要忽略大小写 普通的 Equals() 如果需要忽略大小写,可以通过调用 Equals 的重载方法,如下: //参数说明,StringComparsion 类,枚举类型,定义了字符串对比的方式,详细定义如下: 顺便一提,在 java 中是这样处理的: 参考: Comparing two strings, ignoring case in C# [duplicate]C# String Equals Method 推荐阅读: C# 获取指定目录下的文件

java发送邮件

java发送邮件 java能实现的功能很多,这边文章主要介绍如何使用 mail.jar 和 activation.jar 来发送邮件。 首先下载 mail.jar 和 activation.jar,下载链接:Download mail.jarDownload activation-1.1.0.jar下载后,解压并添加到 eclipse 中, 为了更方便使用,这里通过实现一个调用类 Mail,调用了在引入的类库中的方法,类的实现如下,包括发送等方法: 需要发送邮件时,直接引用 Mail 类中的方法即可: 注意:不过如果你使用的是 MyEclipse 有时候会出现这样的异常 java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 原因: MyEclipse 中自带的 mail 和 activation 和你引入的 jar 包发生冲突 解决方法:进入 MyEclipse 的安装目录下D:\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\EE_5 (蓝色部分不同版本略有不同)可以看到javaee.jar包, 使用压缩软件打开把这个包文件,然后进到javax文件夹中,删除 mail 目录和activation 文件夹, 问题得以解决。 参考:http://blog.sina.com.cn/s/blog_4550f3ca01019qpt.html  推荐内容:Gmail 535-5.7.8 Username and Password not accepted

C# 保存 String 到文件

C# 保存 string 到文件方法有很多,这里介绍比较简单的一种,通过 StreamWriter 类来实现,该类所在的命名空间是 System.IO C# 保存 string 到文件的简单用法 需要提供两个参数,一个是保存的文件路径,另一个就是 string 的内容: 实现可追加内容 前面那个例子,每次写入的内容都会覆盖上一次的内容,所以为了实现内容可追加,如下: 通过查看方法的定义,可以看到 StreamWriter 的构造方法有多个重置,而第二个参数就是用于实现是否可追加内容的: 结果如下: 更多用法请直接参考: StreamWriter Class