我想添加选项来绘制图像上的矩形。但这不是问题。为了让它工作,我需要使用MouseDown,MouseUp和MouseLeave事件的图像控制在WPF。
<DockPanel Name="dockPanel1" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="15">
<GroupBox Header="WebCam" Name="groupBox1" VerticalAlignment="Top" HorizontalAlignment="Left">
<Grid>
<Image HorizontalAlignment="Left" Margin="0" Name="pictureBoxMain" Stretch="Fill" VerticalAlignment="Top" MinHeight="240" MinWidth="320" StretchDirection="DownOnly" MaxWidth="960" MaxHeight="1200" MouseDown="pictureBoxMain_MouseDown" MouseUp="pictureBoxMain_MouseUp" MouseLeave="pictureBoxMain_MouseLeave" Panel.ZIndex="50" />
</Grid>
</GroupBox>
<StackPanel HorizontalAlignment="Right" Name="stackPanel2" VerticalAlignment="Top" DockPanel.Dock="Right" Margin="15,0,0,0">
<GroupBox Header="Controls" Name="groupBox2">
<StackPanel Name="stackPanel1">
<Button Content="Start" Height="23" Name="buttonStartStop" Width="120" Margin="0" Click="buttonStartStop_Click" />
<Button Content="Video Properties" Height="23" Name="buttonVideoProperties" Width="120" Margin="0" Click="buttonVideoProperties_Click" />
<Button Content="WebCam Settings" Height="23" Name="buttonWebCamSettings" Width="120" Margin="0" Click="buttonWebCamSettings_Click" />
</StackPanel>
</GroupBox>
<GroupBox Header="Motion Data" Name="groupBox3">
<StackPanel>
<Label Content="Strength: 0" x:Name="labelMotionStrength" />
<Label Content="Count: 0" x:Name="timesWasMotionCounter" />
</StackPanel>
</GroupBox>
</StackPanel>
</DockPanel>我说的是"pictureBoxMain“的事件。为什么这些事件永远不会发生?我疯狂地点击我的图片,但仍然一无所获。我应该怎么做才能让这些事件正常工作?
发布于 2012-09-14 06:17:56
我发现了错误。由于某种原因,我的图片框大小是0,0。我把它拉长了,现在它起作用了。
发布于 2012-09-14 04:24:41
你试过抓PreviewMouseDown吗?
To capture the same as MouseDown you need to use PreviewMouseDown event which is a tunneling event.发布于 2012-09-14 04:26:22
您需要将Image的Source属性设置为图像文件或绑定,然后事件处理程序才能工作:
<Image HorizontalAlignment="Left" Margin="0" Name="pictureBoxMain" Stretch="Fill" VerticalAlignment="Top" MinHeight="240" MinWidth="320" StretchDirection="DownOnly" MaxWidth="960" MaxHeight="1200" MouseDown="pictureBoxMain_MouseDown" MouseUp="pictureBoxMain_MouseUp" MouseLeave="pictureBoxMain_MouseLeave" Source="test_image.png" Panel.ZIndex="50" />https://stackoverflow.com/questions/12413888
复制相似问题