我在xaml中有一个网格,其中包含一行中的图像/文本块/按钮。为了响应单击行,我在cs文件中添加了以下代码。
this.radFilestoPrint.CellLoaded += new EventHandler<Telerik.Windows.Controls.GridView.CellEventArgs>(filesToPrintGrid_CellLoaded);
void filesToPrintGrid_CellLoaded(object sender, Telerik.Windows.Controls.GridView.CellEventArgs e)
{
if (e.Cell.Column != radFilestoPrint.Columns[4] && e.Cell.Column != radFilestoPrint.Columns[5])
{
e.Cell.AddHandler(GridViewCell.MouseLeftButtonDownEvent, new MouseButtonEventHandler(radFilestoPrint_MouseDoubleClick), true);
}
}
现在的问题是,mousedownevent发射了两次。我检查了消息的来源如下,发现它来自Image本身。我在处理完邮件后设置e.Handled = true
,即使我注意到我从第一次开始接收e.Handled
为真。
if (((FrameworkElement)e.Source).GetType() != typeof(System.Windows.Controls.Image))
{
return;
}
为什么事件会发射两次?我应该如何预防?
请建议。
此致
约翰。
答案 0 :(得分:1)
我想也许你可以在worst place
处理你的事件并且它处理2次并且在单个Down事件中它会触发两个事件。
加载的foreach单元格不适用于指定的列
尝试在其他地方处理事件
答案 1 :(得分:-1)
我相信这是WPF中的一个错误