在一个界面A上点击一个按钮事件,这个事件调用了一个方法B,方法B中注册了一个事件(这个事件是底层库的,不是马上就返回数据集,要几秒钟后才返回数据) ,有什么办法可以去获取到这来返回的数据作为数据源显示在A的listview上,下面是大致的代码:
public class A { B MYB = new B(); MYB.B1Method(); //这里比如有个listview,我想让她的source为那边传回来的myFileInfoList
listview.itemsource = "这里用什么方法可以拿到那边回调函数传回来的数据???"谢谢了, } public class B { public void B1Method() { IParseLayerSendDataParam mSendDlnaStandardParam = GrolbDataAccessManage.tDataAccessManager.CreateSendDataParam(GlobalCommand.COMMAND_SEND_DLAN_GET_FILE_LIST);
mSendDlnaStandardParam.sIP = IP; mSendDlnaStandardParam.eOperate = EnumSendOperate.COMMAND_SEND_OPERATE_NORMAL; GrolbDataAccessManage.tDataAccessManager.OnAccessDataResultEvent += tDataAccessManager_OnAccessDataResultEvent; } void tDataAccessManager_OnAccessDataResultEvent(string sDeviceID, GlobalCommand iCommandID, IParseLayerReciveDataParam dataRecive, EnumAccessLayerResultFlag tmpFlag) { List<FileInfo> myFileInfoList = new List<FileInfo>(); if (tmpFlag.Equals(EnumAccessLayerResultFlag.ACCESS_LAYER_RESULT_SUCCESS)) { if (dataRecive.ErrorNo == 0) { TDlnaReciveGetFileList myDataRecive = (TDlnaReciveGetFileList)dataRecive; //获取dlna信息成功 foreach (var tmpItem in myDataRecive.nNodeItemList) {//想把这里获取到的myFileInfoList返回到上面去 myFileInfoList.Add(new FileInfo() { FileName = tmpItem.sTitle, FileSize = Convert.ToString(tmpItem.iSize), FileType = tmpItem.sNodeType, FileUrl = tmpItem.sPath, SmallImageUrl = tmpItem.sThumPath, CreateTime = tmpItem.sDate
}); } } } } }
自己解决,嘻嘻