Россия, г. Ейск |
Опубликован: 01.11.2011 | Уровень: специалист | Доступ: платный
Практическая работа 24:
Контакты и календарь в Windows Phone 7
Содержимое файла ContactDetails.xaml:
<phone:PhoneApplicationPage x:Class="ContactsAndCalendarTestApp.ContactDetails" 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" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480" 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,0"> <TextBlock x:Name="ApplicationTitle" Text="Контакты и календарь" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="Контакты" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBlock Text="{Binding Path=DisplayName, Mode=OneWay}" Foreground="{StaticResource PhoneAccentBrush}" FontSize="{StaticResource PhoneFontSizeExtraLarge}" /> <Border BorderThickness="2" HorizontalAlignment="Left" BorderBrush="{StaticResource PhoneAccentBrush}" > <Image Name="Picture" Height="85" Width="85" HorizontalAlignment="Left" /> </Border> <TextBlock Text="Телефонные номера" Margin="12,12,0,0"/> <ListBox ItemsSource="{Binding Path=PhoneNumbers}" Height="60" Margin="36,0,0,0"> <ListBox.ItemTemplate> <DataTemplate> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding Path=Kind, Mode=OneWay}" /> <TextBlock Grid.Column="1" Text=": " /> <TextBlock Grid.Column="2" Text="{Binding Path=PhoneNumber, Mode=OneWay}" /> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox> <TextBlock Text="Адреса электронной почты" Margin="12,12,0,0" /> <ListBox ItemsSource="{Binding Path=EmailAddresses}" Height="60" Margin="36,0,0,0"> <ListBox.ItemTemplate> <DataTemplate> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding Path=Kind, Mode=OneWay}" /> <TextBlock Grid.Column="1" Text=": " /> <TextBlock Grid.Column="2" Text="{Binding Path=EmailAddress, Mode=OneWay}" /> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox> <TextBlock Text="web-сайты" Margin="12,12,0,0" /> <ListBox ItemsSource="{Binding Path=Websites}" Height="60" Margin="36,0,0,0" /> <TextBlock Text="Информация о компании" Margin="12,12,0,0" /> <ListBox ItemsSource="{Binding Path=Companies}" Height="60" Margin="36,0,0,0"> <ListBox.ItemTemplate> <DataTemplate> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding Path=CompanyName, Mode=OneWay}" /> <TextBlock Grid.Column="1" Text=": " /> <TextBlock Grid.Column="2" Text="{Binding Path=JobTitle, Mode=OneWay}" /> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox> <TextBlock Text="Учетные записи" Margin="12,12,0,0" /> <ListBox ItemsSource="{Binding Path=Accounts}" Height="60" Margin="36,0,0,0"> <ListBox.ItemTemplate> <DataTemplate> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding Path=Kind, Mode=OneWay}" /> <TextBlock Grid.Column="1" Text=": " /> <TextBlock Grid.Column="2" Text="{Binding Path=Name, Mode=OneWay}" /> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </StackPanel> </Grid> </phone:PhoneApplicationPage>
Содержимое файла ContactDetails.xaml.cs:
using System; using Microsoft.Phone.Controls; using System.Windows.Media.Imaging; namespace ContactsAndCalendarTestApp { public partial class ContactDetails : PhoneApplicationPage { public ContactDetails() { InitializeComponent(); } protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); //Set the data context for this page to the selected contact this.DataContext = App.con; try { //Try to get a picture of the contact BitmapImage img = new BitmapImage(); img.SetSource(App.con.GetPicture()); Picture.Source = img; } catch (Exception) { //can't get a picture of the contact } } } }