(牛人莫入) Silverlight 3 之控件 DataForm

DataForm控件是一个对数据的展现方式,在项目开发中是离不开对数据的展现,如:ASP。NET 中的DataGird,ListView等

这些数据控件;在SL中也提供了很多关于数据展显的控件,如:DataGrid,DataForm etc;

在这里为了学习DataForm控件特意为初学者提供自己的学习笔记,以下内容只供参考;如果你是牛人就绕道而行;

一、运行结果如下:

1.单行数据绑定

image

2.多行数据绑定

image

3.添加数据

image

二、开发步骤如下:

1.新建一个VS SL3的项目,在项目中的MainPage.xaml面页中添加DataForm控件;如下代码所示:

<Grid x:Name="LayoutRoot" Background="#FFCD7777" OpacityMask="#FFB97A7A">
      <dataFormToolkit:DataForm x:Name="MyDataForm" Width="400"  Height="300"
        CancelButtonContent="取消" CommitButtonContent="添加"  ItemsSource="{Binding}"
         IsReadOnly="False" AutoEdit="False" DescriptionViewerPosition="BesideContent" 
          Header="My DataForm Demo">
      </dataFormToolkit:DataForm>
</Grid>

参数说明:

CanelButtonContent 取消按钮名,默认为英文
CommitButtonContent 提交按钮名,默认为英文
IsReadOnly 只读,默认为True
AutoEdit 编辑,与IsReadOnly相反
Header DataForm 的标题
DescriptionViewerposition 描述信息的位置,为enum值

 

2.新建一个类,取名为Customer;如下代码所示

namespace CAO.DataForm
{
    public class Customer
    {
        public string UserName { get; set; }
        public string UserAddress { get; set; }
        public string UserPhone{ get; set; }
       
    }
}
3.DataForm数据绑定
A.单行数据绑定,代码如下:
/// <summary>
     /// 单行数据绑定
     /// </summary>
      public void BindDataForm()
      {
          Customer customer = new Customer() { 
          UserName="曹代明",
          UserAddress="四川仪陇",
          UserPhone="110"
          };
          MyDataForm.CurrentItem = customer;
      }

B.多行数据绑定,代码如下:

public void MuitBindDataForm()
{
ObservableCollection<Customer> customer = new ObservableCollection<Customer>();
customer.Add(new Customer() { UserPhone = "110", UserAddress = "四川", UserName = "曹代明" });
customer.Add(new Customer() { UserPhone = "119", UserAddress = "西安", UserName = "张三" });
customer.Add(new Customer() { UserPhone = "12315", UserAddress = "北京", UserName = "李四" });
customer.Add(new Customer() { UserPhone = "114", UserAddress = "天津", UserName = "刘德华" });
customer.Add(new Customer() { UserPhone = "120", UserAddress = "台湾", UserName = "刘登辉" });
MyDataForm.ItemsSource = customer;
}

参数说明:

CurrentItem 绑定单行数据
ItemSource 绑定多行数据
ObservableCollection System.Collections.ObjectModel
   

 

三、结束语

本事例非常的简单也用过多的文字加以描述,对属性没有更加细化的说明;的确,这个控件有很多的属性,在这里我只是把

当前DEMO中所用到的属性简要说明;希望有兴趣的朋友下来可以看看;

示例代码就不上传了,用Live Write写博客是怎么上传附件的,有朋友知道告诉我一下;以后为大家上传示例;

posted @ 2009-08-06 22:53  阳光追梦  阅读(4726)  评论(17编辑  收藏  举报
/*快速评论*/ #div_digg { position: fixed; bottom: 10px; right: 15px; border: 2px solid #ECD7B1; padding: 10px; width: 140px; background-color: #fff; border-radius: 5px 5px 5px 5px !important; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); } /** 不知道为什么页面加载完成时还读不到div_digg。可能也是动态生成的。 所以这里只能用定时器 不断的读取,当读取到了再给它动态添加快捷按钮 **/ //自定义 定时器[当元素加载完成是执行回调函数] function customTimer(inpId,fn) { if ($(inpId).length) { fn(); } else { var intervalId = setInterval(function () { if ($(inpId).length) { //如果存在了 clearInterval(intervalId); // 则关闭定时器 customTimer(inpId,fn); //执行自身 } }, 100); } } //页面加载完成是执行 $(function () { customTimer("#div_digg", function () { var div_html = "
\ 关注\  | \ 顶部\  | \ 评论\
"; $("#div_digg").append(div_html); //tbCommentBody }); });