Код XAML:
<Grid x:Name="LayoutRoot" Height="800">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel x:Name="TitlePanel" Orientation="Horizontal" Grid.Row="0" Margin="12,17,0,10">
<TextBlock x:Name="ApplicationTitle" Text="Test" Margin="3,0" FontSize="21" Style="{StaticResource PhoneTextNormalStyle}" Foreground="Black"/>
</StackPanel>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,72">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="125"/>
</Grid.RowDefinitions>
<Border BorderBrush="Gray" BorderThickness="1">
<Grid Height="auto" Width="auto">
<Image x:Name="SourceImg" Stretch="Uniform" VerticalAlignment="Top" Margin="2"/>
</Grid>
</Border>
<StackPanel Grid.Row="1">
<TextBlock x:Name="CurrentRes" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="0,6,0,0" Text="test" Foreground="Black"/>
</StackPanel>
</Grid>
</Grid>
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar x:Name="mainpageAppBar" IsVisible="True" IsMenuEnabled="True" >
<shell:ApplicationBarIconButton IconUri="/icons/appbar.feature.camera.rest.png" Text="Select" Click="Selected_Click"/>
<shell:ApplicationBarIconButton IconUri="/icons/edit.png" Text="OK" Click="CropBtn_Click" />
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
</phone:PhoneApplicationPage>
и код-это:
private void CropBtn_Click(object sender, EventArgs e)
{
Touch.FrameReported += OnTouchFrameReported;
}
void OnTouchFrameReported(object sender, TouchFrameEventArgs args)
{
try
{
this.SetCrop(args.GetTouchPoints(this.SourceImg));
}
catch (ArgumentException)
{
}
}
private void SetCrop(TouchPointCollection points){ // do something}
Я хочу, чтобы область отклика на событие касания была просто элементом управления изображением, но когда я касаюсь другой области, такой как ApplicationBar, текст в StackPanel, срабатывает событие касания. Что-то не так с моим кодом? спасибо.