2012-02-14 70 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 2012-02-14 09:04:12

回答

5

顯然,InkCanvas處理MouseLeftButtonDown事件內部發起墨水筆劃的繪製。你可以使用PreviewMouseLeftButtonDown事件,但你應該小心你的工作。在InkCanvas中,當用戶按下鼠標左鍵時,用戶通常會開始繪製筆畫。

相關問題