listboxitem里面的图片mouse单击无法弹出popup
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Grid Margin="0,0,2,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<Image Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="2" HorizontalAlignment="Left"
VerticalAlignment="Bottom" Height="40" Source="{Binding imagePath}"
MouseLeftButtonUp="Image_MouseLeftButtonDown" />
</Grid>
private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
popSendMsg.PlacementTarget = sender as Image;
popSendMsg.IsOpen = true;
}
<Popup x:Name="popSendMsg" StaysOpen="False"
IsOpen="False"
AllowsTransparency="True"
PopupAnimation="Fade" Placement="Top"
HorizontalOffset="10">
<Grid>
<Button Name="btSendInPopup"
Width="60" Height="30"
Padding="1.6" FontSize="16" Click="btSendInPopup_Click">发消息</Button>
</Grid>
</Popup>
代码如上,在image中相应鼠标左键,弹出popup,但是发现点击popup以外的区域始终无法自动关闭
但是单独弄一个图片在listbox外面又可以实现。
我试过mouseover的方法也可以再listbox中实现。不知道listboxitem对鼠标左键点击做了什么额外操作?