110,536
社区成员
发帖
与我相关
我的任务
分享
public class CustomImageControl : Image
{
private const int nHoverTimeSenconds = 2;
private const int nHoverTimeMilliseconds = 0;
private DispatcherTimer timeHover;
public CustomImageControl()
: base()
{
timeHover = new DispatcherTimer();
timeHover.Tick += (sender, e) =>
{
// 些处想触发 OnMouseUp 事件,应该怎么写。
System.Windows.MessageBox.Show("Yes");
};
timeHover.Interval = new TimeSpan(0, 0, 0, nHoverTimeSenconds, nHoverTimeMilliseconds);
}
protected override void OnMouseEnter(System.Windows.Input.MouseEventArgs e)
{
base.OnMouseEnter(e);
timeHover.Start();
}
protected override void OnMouseLeave(System.Windows.Input.MouseEventArgs e)
{
base.OnMouseLeave(e);
timeHover.Stop();
}
}
public MainWindow() // 这里是主窗口函数
{
InitializeComponent();
for (int i = 0; i < 16 ; i++)
{
CustomImageControl image = new CustomImageControl()
{
Height = 150,
Source = new BitmapImage(new Uri(String.Format("Images/{0}.jpg",1), UriKind.Relative)),
};
image.MouseUp += image_MouseUp; // MouseUp 是在这里写的代码
this.customPanel.Children.Add(image);
}
}
void image_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
Image thisImage = sender as Image;
// 做一些其它对主窗口的事
}
我就是想让 HoverTime 到时间了触发一下 MouseUp 。本来想用 Click 的,可是 Image 没有 Click 事件。