2012-02-14 10 views
2

こんにちは、私はそれがなぜ動作しないのかを知りません。 InkCanvasでこのイベントを使用できないようです。InKCanvasのMouseLeftButtonDownイベント

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)); 
} 
+0

これが一番上の要素ですか? Canvas.ZIndex = "1000"(または別の適切な大きな数値)を追加して強制的に前面に移動させることができます。 – Nzc

答えて

5

の後ろどうやらInkCanvasは、インクストロークの描画を開始するために内部のMouseLeftButtonDownイベントを処理します。あなたは代わりにPreviewMouseLeftButtonDownイベントを使うことができますが、あなたがしていることには注意が必要です。 InkCanvasでは、ユーザーは通常、マウスの左ボタンを押したときにストロークの描画を開始すると予想されます。

関連する問題