Опубликован: 01.11.2011 | Доступ: свободный | Студентов: 1424 / 63 | Оценка: 3.84 / 3.44 | Длительность: 15:38:00
Специальности: Программист
Теги:
Практическая работа 13:
Обработка сложного касания в Silverlight
< Практическая работа 12 || Практическая работа 13 || Практическая работа 14 >
Аннотация: Целью данного занятия является разработка обработчика сложного касания в Silverlight.
Дополнительные материалы к занятию можно скачать здесь.
Интерфейс обработки сложного касания в Silverlight включает три события: ManipulationStarted, ManipulationDelta и ManipulationCompleted. Это события не занимаются отдельными касаниями, они консолидируют действия множества касаний в операции преобразования и масштабирования. Также они аккумулируют сведения о скорости, поэтому могут использоваться для реализации инерции, несмотря на то, что не поддерживают ее напрямую.
Создаем новый проект Silverlight Windows Phone 7. Назовем проект p13.
Код файла MainPage.xaml:
<phone:PhoneApplicationPage x:Class="p13.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="True"> <!--LayoutRoot is the root grid where all page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="Обработка" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="сложного касания" FontSize="48" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBlock Text="Нажми меня!" FontSize="48" HorizontalAlignment="Center" VerticalAlignment="Center" ManipulationStarted="OnTextBlockManipulationStarted" /> </Grid> </Grid> </phone:PhoneApplicationPage>
Код файла MainPage.xaml.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; namespace p13 { public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); } void OnTextBlockManipulationStarted(object sender, ManipulationStartedEventArgs args) { TextBlock txtblk = sender as TextBlock; txtblk.Text = "Вы нажали!"; args.Complete(); } } }
До нажатия:
После нажатия:
< Практическая работа 12 || Практическая работа 13 || Практическая работа 14 >