摘要:
网上查了很多方法,基本都是自己写一个列,再用程序来填充这列的值为行号,太复杂了。其实有个简单的思路就可以用3行代码实现这个功能:当DataGrid加载行时,将自身的索引值加1不就是行号了吗?将这个值写入表头(行)就行了。 dataGrid.LoadingRow += new EventHandler<DataGridRowEventArgs>(dataGrid_LoadingRow); //添加行号 public void dataGrid_LoadingRow(object sender, DataGridRowEventArgs e) { e.Row.Header = e.Ro 阅读全文
摘要:
Point p = Cursor.Position;int x = p.X;int y = p.Y;label1.Text = String.Format("Mouse X:{0}, Mouse Y :{1}", x, y); 阅读全文
摘要:
思路如下:首先在子窗口定义委托和事件,然后在父窗口调用子窗口时订阅事件,并在事件中写入想让子窗口操作父窗口或传值的具体内容。代码如下:子窗口namespace WpfApplicationTest{ //定义委托 public delegate void ChangeTextHandler(string text); /// <summary> /// chrild.xaml 的交互逻辑 /// </summary> public partial class chrild : Window { //定义事件 public event ChangeTextHandler 阅读全文
摘要:
粘一个自己实践的例子第一步:定义验证模型。View Code using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;namespace DecorationMS.WindowsBase{ class DMSValidatiionRule { private const string emailPatten = @"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\ 阅读全文
摘要:
C# 中转义用 \SQL中则是用 ‘ (单引号)如:select 'I''m a boy' 阅读全文
摘要:
要将字符转换成unicode字符以显示某些符号,可以在字符串前加N,如:select N'♧♡♂♀♠♣♥❤☜☞☎☏ ' 阅读全文
摘要:
在postContent类里的<table>将自动实现。.postContent{border-collapse:collapse;border:none;}.postContent table{border-collapse:collapse;border-spacing:0;}.postContent td{border:solid #868686 1px;text-align:center; margin:0;} 阅读全文
摘要:
在WinForm时,可以定义一个基类继承自Form,从而在基类中重写和添加功能,要在WPF中实现类似方法要分为三步:1. 自定义一个基类MyWindow继承自Window.2. 将窗口的CS继承自MyWindow。3. 在XAML中引用MyWindow命名空间,并在使用其别名自定义WPF窗口。如下例重写Windows基类,自定义WPF窗口,实现改回车键为TAB:XAMLCS自定义基类 阅读全文
摘要:
在System.Windows.Input 里有着所有键的集合,经测试要注意以下几点(纯实践所得经验,还请高手指明下面不明白地方的原因):1. 普通情况下Key就够用了2. 当某个键在特定的环境下充当某种系统默认的功能时就要用到SystemKey,如Alt键在窗口中默认是激活菜单,这时用Key来判断就不起作用了。如下例作示,在textBox1中按右Alt键将还是激活菜单,而左Alt键盘却实现了换行的功能。[代码]3.组合键的使用,首先,组合键的实现是使用系统默认功能,所以必须用SystemKey,然后需要用到Keyboard.Modifiers,如:Alt+F[代码]4. 在支持换行的控件中( 阅读全文
摘要:
有时需要新增线程执行可能有延迟的语句,如从远程数据库中提取数据实时验效时:System.Threading.Thread th =new System.Threading.Thread(()=>BackstageMethod(););th.Start();但是请注意根据WPF实现的安全模型,只有一个用户的对象自己创建的线程才能访问该对象,这就是说,后台线程不能直接修改界面对象。在WPF中,则需要使用控件上的System.Threading.Dispatcher对象来执行封送操作。Dispatcher的Invoke方法可发送一个请求,如: 1 using System.Threading; 阅读全文