委托方法
来源:互联网 发布:淘宝怎么给朋友发链接 编辑:程序博客网 时间:2024/05/16 11:01
1. 利用 delegate
public delegate void ImageSelectedEvent(ImageArgs e);
public class ImageArgs : EventArgs
{
public string Id { get; set; }
public FishEyePanel.FishEyeData FishEyeData { get; set; }
}
public class FishEyePanel : Panel
{
//public event RoutedEventHandler ImageClick;
public event ImageSelectedEvent ImageSelected;
void image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Image im = sender as Image;
selectImageName = im.Name;
var selitem = from data in Datas
where data.Id == im.Name
select data;
List<FishEyeData> listitems = new List<FishEyeData>();
foreach (FishEyeData fishEyeData in selitem)
{
listitems.Add(fishEyeData);
}
if (listitems.Count > 0)
{
SelectedItem = (FishEyeData)listitems[0];
}
//如果没有权限则退出。
if (SelectedItem.IsEnable == false) return;
foreach (PopTip stackPanel in this.Children)
{
Image imgtemp = stackPanel.img as Image;
if (imgtemp != null)
{
if (imgtemp.Name == im.Name)
{
stackPanel.IsSelecting();
}
else
{
stackPanel.IsUnSelecting();
}
}
}
ImageArgs imageArgs = new ImageArgs() { Id = im.Name, FishEyeData = SelectedItem };
if (ImageSelected != null )
{
ImageSelected(imageArgs);
}
}
}
2.利用 Action
例如:
Public Class A
{
//声明:
public Action<T> Recieved;
// 引发:
public void OnRecived(T t)
{
if (Recieved != null)
Dispatcher.BeginInvoke(Recieved, T);
}
}
在另一个地方引用:
public class B
{
pub void Call(A a)
{
if(a==null) return ;
a.Recieved=(0)=>
{
///
///
} ;
}
}
- 委托方法
- 委托方法
- 委托(4)匿名方法
- C# 匿名方法 委托
- c# 方法委托
- UITextFieldDelegate委托方法注释
- UIApplicationDelegate-委托方法浅析
- C#委托处理方法
- IOS 委托实现方法
- 常用委托方法
- 使用匿名方法 委托
- UITextFielddelegate委托方法注释
- 方法、事件和委托
- 委托和方法
- 委托 方法 调用
- C# Action委托方法
- 方法绑定到委托
- __call()方法实现委托
- struts2标签库
- HostMonitor监控Windows和Linux的内存空闲率
- Android init进程中鲜为人知的charger mode 模式
- Linux源代码下载
- IPv4组播通信原理
- 委托方法
- 粒子编辑器研究
- socket编程原理
- 服务器×××上的MSDTC不可用解决办法
- Apache服务器全局配置
- BAT蝙蝠视频聊天室(服务器+客户端+架设相关软件)免费提供
- 程序员常用网站汇总
- Android 推荐博客 网站
- string和数组作为参数传递给函数