Silverlight DataGrid点击行(或选择行)引发的事件

问题:点击DataGrid某行的时候需要显示这条数据的明细信息(均显示在文本框中),可Silverlight中翻遍了也没找到类似Winform中DataGridView的Click事件的效果。

 

后面用了个投机取巧的方法,每行添加的时候会执行一个事件叫做LoadRow事件,刚好LoadRow能获取到新增行的信息,那么我们就可以在新增行上的数据下手了,先获取新增行对象,然后对行对象定制鼠标点击的操作。

 

Remind:LoadRow会在行新增和DataGrid排序的时候触发,删除行的时候不会触发此事件

 

上代码:

/*这个是LoadRow事件*/

private void dgOrder_LoadingRow(object sender, DataGridRowEventArgs e)
{
            e.Row.MouseLeftButtonUp -= new MouseButtonEventHandler(Row_MouseLeftButtonUp);
            e.Row.MouseLeftButtonUp += new MouseButtonEventHandler(Row_MouseLeftButtonUp);

    //先取消该列的订阅事件,再重新订阅

    //方法执行频率:当有新增一行只执行一次;当排序时,有多少行执行多少次

 

/*类似鼠标点击事件MouseLeftButtonUp,当然这不是MouseClick事件,silverlight中没有Button的Click事件*/

void Row_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{

     写你需要的东东

 }

参考文件:http://www.cnblogs.com/aijie/archive/2011/09/28/2194770.html

posted on 2012-04-21 13:59  雪 狼  阅读(241)  评论(0)    收藏  举报

导航