我有以下布局:
<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>
现在的问题是,如果我想移动ScatterViewItems
,事件将由SurfaceInkCanvas
消耗,并绘制一个笔划。
这就是我尝试将IsHitTestVisible
的{{1}}属性设置为SurfaceInkCanvas
的原因
然后我可以移动false
,但我不能再画任何笔画了ScatterviewItems
。
我怎样才能允许两者?
答案 0 :(得分:1)
考虑一下,您希望用户以不同的方式向您的应用程序发出信号,告知他们正在尝试操纵SVI而不是在其中进行绘制。
这个问题的常见答案是: