2

嗨,我不知道为什么它不起作用。看起来我无法在 InkCanvas 上使用此事件。

XAML

<Window x:Class="PolyLine.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<StackPanel >
    <Button Name="Button1">Clear</Button>
    <InkCanvas x:Name="MC" MouseLeftButtonDown="MC_MouseLeftButtonDown" MouseRightButtonDown="MC_MouseRightButtonDown" MouseMove="MC_MouseMove" Background="White"  Height="300" Width="497" ></InkCanvas>
</StackPanel>

代码背后

private void MC_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    polylinePoints.Add(e.GetPosition(MC));
}
4

1 回答 1

6

显然 InkCanvas 在内部处理 MouseLeftButtonDown 事件以启动墨水笔划的绘制。您可以改为使用PreviewMouseLeftButtonDown事件,但您应该小心您所做的事情。在 InkCanvas 中,用户通常希望在按下鼠标左键时开始绘制笔画。

于 2012-02-14T09:08:08.210 回答