Событие MouseLeftButtonDown на InkCanvas - PullRequest
2 голосов
/ 14 февраля 2012

Привет, я понятия не имею, почему это не работает.Похоже, я не могу использовать это событие в 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));
}

1 Ответ

5 голосов
/ 14 февраля 2012

Очевидно, что InkCanvas обрабатывает событие MouseLeftButtonDown внутри, чтобы инициировать рисование чернильного штриха.Вместо этого вы можете использовать событие PreviewMouseLeftButtonDown , но вы должны быть осторожны с тем, что вы делаете.В InkCanvas пользователь обычно ожидает начать рисование обводки, когда он нажимает левую кнопку мыши.

...