C# SurfaceInkCanvas和ScatterView的组合?

C# SurfaceInkCanvas和ScatterView的组合?,c#,.net,wpf,pixelsense,C#,.net,Wpf,Pixelsense,我的布局如下: <Grid Width="1024" Height="768" Background="{StaticResource WindowBackground}" > <Grid.RowDefinitions> <RowDefinition Height="*"></RowDefinition> <RowDefinition Height="auto"></

我的布局如下:

<Grid Width="1024" Height="768" Background="{StaticResource WindowBackground}" >
        <Grid.RowDefinitions>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="auto"></RowDefinition>
        </Grid.RowDefinitions>

        <s:ScatterView Name="hitter">
            <s:ScatterViewItem Orientation="0" Width="100" Height="100"></s:ScatterViewItem>
            <s:ScatterViewItem Orientation="0" Width="100" Height="100"></s:ScatterViewItem>
            <s:ScatterViewItem Orientation="0" Width="100" Height="100"></s:ScatterViewItem>
            <s:ScatterViewItem Orientation="0" Width="100" Height="100"></s:ScatterViewItem>
            <s:ScatterViewItem Orientation="0" Width="100" Height="100"></s:ScatterViewItem>
            <s:ScatterViewItem Orientation="0" Width="100" Height="100"></s:ScatterViewItem>
        </s:ScatterView>

            <s:SurfaceInkCanvas Grid.Row="0" Name="Gesture" s:Contacts.PreviewContactDown="Gesture_PreviewContactDown" s:Contacts.PreviewContactChanged="Gesture_PreviewContactChanged" s:Contacts.PreviewContactUp="Gesture_PreviewContactUp"></s:SurfaceInkCanvas>
        <StackPanel Margin="20" Grid.Row="1" Orientation="Horizontal">
            <s:SurfaceTextBox Text="TemplateName" Background="Transparent" BorderThickness="3" BorderBrush="White" Width="200" Name="TemplateName"></s:SurfaceTextBox>
            <s:SurfaceButton Name="Add" Foreground="White" Background="Transparent" Content="Add new template" PreviewContactDown="Add_PreviewContactDown"></s:SurfaceButton>
            <TextBox Foreground="White" Background="Transparent" Margin="220,0,0,0" Name="ResultDisplay" Width="500"></TextBox>
        </StackPanel>
    </Grid>

现在的问题是,如果我想移动我的
散点视图项
,事件将被
表面链接画布
消耗,并绘制一个笔划。
这就是为什么我试图将
SurfaceInkCanvas
的属性
ishitestvisible
设置为
false

然后我可以移动
散点视图项
,但我不能再绘制任何笔划和
表面链接画布


我怎么能两者都允许呢

考虑一下,您希望用户以不同的方式向您的应用程序发出信号,表示他们正试图操纵SVI,而不是在SVI内部绘制

这个问题的常见答案是:
  • 要进行操作,用户将触摸inkcanvas周围的可见“框架”。要实现这一点,只需向SVI添加填充。
  • 要使用墨迹,用户将点击按钮将项目切换到“墨迹”模式。要实现这一点,请在inkcanvas上添加一个SVI按钮,用于切换inkcanvas的IsEnabled。

    想想您希望用户以不同的方式向您的应用程序发出信号,表示他们正在尝试操纵SVI,而不是在其中绘制

    这个问题的常见答案是:
  • 要进行操作,用户将触摸inkcanvas周围的可见“框架”。要实现这一点,只需向SVI添加填充。
  • 要使用墨迹,用户将点击按钮将项目切换到“墨迹”模式。要实现这一点,请在SVI中添加一个按钮,用于切换inkcanvas的IsEnabled。

    谢谢。这是可行的,但我正在寻找一种直观的方法来在我的应用程序中实现它。我使用SurfaceInkCanvas识别手势,并在此基础上执行特定动作。这种识别已经可以工作了,但现在我不知道如何结合我的应用程序来实现。如果我总是在顶部有一个SurfaceInkCanvas,那么每当用户想要添加手势时,我都必须禁用/启用它。这会起作用,但我真的想不出一个简单的方法,用户可以表明他是否想做一个手势或只是操纵其他UI元素。你看到我的问题了吗?谢谢,罗伯特。这是可行的,但我正在寻找一种直观的方法来在我的应用程序中实现它。我使用SurfaceInkCanvas识别手势,并在此基础上执行特定动作。这种识别已经可以工作了,但现在我不知道如何结合我的应用程序来实现。如果我总是在顶部有一个SurfaceInkCanvas,那么每当用户想要添加手势时,我都必须禁用/启用它。这会起作用,但我真的想不出一个简单的方法,用户可以表明他是否想做一个手势或只是操纵其他UI元素。你看到我的问题了吗?