【问题标题】:MouseLeftButtonDown event on InkCanvasInkCanvas 上的 MouseLeftButtonDown 事件
【发布时间】:2012-02-14 07:36:58
【问题描述】:

您好,我不知道为什么它不起作用。看来我无法在 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));
}

【问题讨论】:

  • 你确定这是最顶层的元素吗?您可以添加 Canvas.ZIndex="1000" (或另一个适当的大数字)以将其强制放在前面。

标签: c# wpf inkcanvas


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    相关资源
    最近更新 更多