本页文章导读:
▪文件编译以及Main方法的参数 对于习惯了使用VS工具的我们,常常会忘记如何进行原始的对文件进行编译与运行,这里,我对该方法进行了一下梳理,其中包括了Main方法的参数的输入。在C#中,我们可以直接通过csc.exe对文.........
▪C# 中的INotifyPropertyChanged和ObservableCollection<T> INotifyPropertyChanged它的作用:向客户端发出某一属性值已更改的通知。当属性改变时,它可以通知客户端,并进行界面数据更新.而我们不用写很多复杂的代码来更新界面数据,这样可以做到方法简洁.........
▪TextBoxWatermarkExtender应用 AjaxControlToolkit控件,当然是在Ajax下应用。在aspx页面或母版页中应该要写上:<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %><asp:ScriptManager ID="ScriptManager1" runat="serv.........
[1]文件编译以及Main方法的参数
对于习惯了使用VS工具的我们,常常会忘记如何进行原始的对文件进行编译与运行,这里,我对该方法进行了一下梳理,其中包括了Main方法的参数的输入。
在C#中,我们可以直接通过csc.exe对文件进行编译,具体过程如下:
1)对于csc.exe的使用如下:
1> 找到csc.exe所在文件夹的路径,一般在C:\Windows\Microsoft.NET\Framework\v(版本号)\下
2> 下面我就以C:\Windows\Microsoft.NET\Framework\v4.0.30319为例
3> 在开始命令中输入cmd
4> 如果文件是在c盘中,则在当前行中输入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319,否则需要先输入盘符(例如:d:)后回车,再输入csc.exe所在文件夹的路径
5> 在文件夹路径后输入csc,表示启用csc.exe
2)为了方便我们需要对csc.exe进行如下配置:
1>右键点击我的电脑,选择属性,选择高级系统设置,在弹出的窗口中选择高级,选择环境变量,再在环境变量窗口中的系统变量中查找出path,选中点击编辑,在最后添加一个分号加上csc.exe所在文件夹的路径名(例:;C:\Windows\Microsoft.NET\Framework\v4.0.30319)
6> 在开始命令中输入cmd
7> 进入需要编译文件所在文件夹的路径,如果文件在d盘中,输入d:回车,再输入cd 文件夹路径(例:cd D:\My Documents\visual studio 2010\Project)
8> 进行文件编译,输入csc 文件名(带后缀)
9> 运行文件,输入编译好的文件名(不带后缀,如果Main函数带参数,则将文件名与参数用空格隔开,参数之间也用空格隔开)
本文链接
[2]C# 中的INotifyPropertyChanged和ObservableCollection<T>
INotifyPropertyChanged
它的作用:向客户端发出某一属性值已更改的通知。
当属性改变时,它可以通知客户端,并进行界面数据更新.而我们不用写很多复杂的代码来更新界面数据,这样可以做到方法简洁而清晰,松耦合和让方法变得更通用.可用的地方太多了:例如上传进度,实时后台数据变更等地方。
它的作用:向客户端发出某一属性值已更改的通知。
当属性改变时,它可以通知客户端,并进行界面数据更新.而我们不用写很多复杂的代码来更新界面数据,这样可以做到方法简洁而清晰,松耦合和让方法变得更通用.可用的地方太多了:例如上传进度,实时后台数据变更等地方.目前我发现winform和silverlight都支持,确实是一个强大的接口.
在构造函数中先绑定
public Class_Name()
{
User user = new User();
user.Name = "your name";
user.Address = "your address";
textBox1.Text = user.Name;
textBox2.Text = user.Address;
}
编写一个简单的业务类
publicclass User : INotifyPropertyChanged
{
publicevent PropertyChangedEventHandler PropertyChanged;
privatestring _name;
publicstring Name
{
get { return _name; }
set
{
_name = value;
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Name"));
}
}
}
privatestring _address;
publicstring Address
{
get { return _address; }
set
{
_address = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Address"));
}
}
}
}
ObservableCollection
绑定到集合
数据绑定的数据源对象可以是一个含有数据的单一对象,也可以是一个对象的集合。之前,一直在讨论如何将目标对象与一个单一对象绑定。Silverlight中的数据绑定还能将目标对象与集合对象相绑定,这也是很常用的。比如显示文章的题目列表、显示一系列图片等。
如果要绑定到一个集合类型的数据源对象,绑定目标可以使用ItemsControl,如ListBox或DataGrid等。另外,通过定制ItemsControl的数据模板(DataTemplate),还可以控制集合对象中每一项的显示。
使用ObservableCollection
数据源集合对象必须继承IEnumerable接口,为了让目标属性与数据源集合的更新(不但包括元素的修改,还包括元素的增加和删除)保持同步,数据源集合还必须实现INotifyPropertyChanged接口和INotifyCollectionChanged接口。
在Silverlight中创建数据源集合可以使用内建的ObservableCollection类,因为ObservableCollection类既实现了INotifyPropertyChanged接口,又实现了INotifyCollectionChanged接口。使用ObservableCollection类不但可以实现Add、Remove、Clear和Insert操作,还可以触发PropertyChanged事件。
原文链接:http://www.cnblogs.com/linzheng/archive/2011/03/04/1970443.html
本文链接
[3]TextBoxWatermarkExtender应用
AjaxControlToolkit控件,当然是在Ajax下应用。在aspx页面或母版页中应该要写上:
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
TargetControlID指定要显示信息的控件,WatermarkCssClass指定样式,WatermarkText指定显示的信息。
<asp:TextBox id="txtProject_Name_C" runat="server" Width="250px" MaxLength="35" Css></asp:TextBox>
<cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" runat="server" TargetControlID="txtProject_Name_C" WatermarkText="请在此处输入工程名称(支持模糊查询)" WatermarkCss>
</cc1:TextBoxWatermarkExtender>
Css如下:
.watermarked
{
color:Gray;
font-size:small;
}
效果图:
本文链接