【发布时间】:2011-04-20 17:34:55
【问题描述】:
目前我有一些GridViewColumns,例如:
<GridViewColumn Width="20">
<GridViewColumnHeader Content="X" />
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="18"
Height="18"
Source="{Binding VisibleIcon}"
Opacity="{Binding VisibleOpacity}"/>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
我想在此列上单击的项目上执行某些操作。但我不知道如何添加Click 事件,因为GridViewColumn 和Image 都没有Click 事件。
我希望是这样的:
void ClickEvent ...
{
SelectLayer (boundDataItem);
// boundDataItem is of type `Layer`.
}
编辑:我发现了一个 MouseLeftButtonDown 事件,但它没有给我点击的绑定数据项,只能获取图像或文本,但它们对于要查找的图像不是唯一的。
EDIT2:另一件事是即使使用MouseLeftButtonDown,它也只有在我点击TextBlock 本身时才有效,即使在同一个GridViewColumn 内也不能在它之外。
【问题讨论】: