рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 7 рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рд╕реЗ рдЖрдЦрд┐рд░ рддрдХ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред рднрд╛рдЧ 15. рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдкрд░ рддрд╕реНрд╡реАрд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ

рдкрд┐рдЫрд▓рд╛ рд╣рд┐рд╕реНрд╕рд╛

рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реЛрдЯреЛ рдФрд░ рдЕрдиреНрдп рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝реЛрди рдХреЗ рдореАрдбрд┐рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдлрд╝реЛрдЯреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рддрд╕реНрд╡реАрд░реЗрдВ рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ:

рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдкрд░ рдПрдХреНрд╕реЗрд╕ рдлреЛрдЯреЛрдЬ


рдореАрдбрд┐рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдХреИрдорд░рд╛ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, PhotoChooserTask рдФрд░ CameraCaptureTask рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЪрдпрдирдХрд░реНрддрд╛ (рдЪрдпрди) рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдкрд░ рд▓реМрдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЙрдиреНрдЪрд░ (рд▓реЙрдиреНрдЪ) рднреА рд╣реИрдВ рдЬреЛ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╕рдВрдж рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

PhotoChooserTask рдФрд░ CameraCaptureTask рдХреЛ рд╕рдорд╛рди рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ PhotoChooserTask рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрдВрдбрд╛рд░рдг рдореЗрдВ рдЪрдпрдирд┐рдд рдлрд╝реЛрдЯреЛ рдХреЛ рдХреИрд╕реЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛рдПред рдЖрдк XNA MediaLibrary рдХреНрд▓рд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореАрдбрд┐рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдФрд░ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╡рд░реНрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЪрдпрдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рддреБрд░рдВрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирд┐рдореНрди рдЫрд╡рд┐ PhotoChooserTask рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреА рд╣реИред

рдЫрд╡рд┐

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪрдпрди рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЙрдЪрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдХреА рдЧрдИ рдШрдЯрдирд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред рдирд┐рдореНрди рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ (CarDetailsPage.xaml.cs рд╕реЗ) рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ PhotoChooserTask рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕рдХреА рдкреВрд░реНрдг рдШрдЯрдирд╛ рдХреЛ рдХреИрд╕реЗ рд╣реИрдВрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ PhotoChooserTask рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдкреВрд░реНрдг рдШрдЯрдирд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  1. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  2. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  3. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  4. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  5. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  6. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  7. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  8. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  9. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  10. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  11. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  12. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  13. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  14. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  15. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  16. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  17. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  18. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  19. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  20. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  21. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  22. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  23. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  24. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  25. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  26. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
  27. private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .
private readonly PhotoChooserTask photoTask = new PhotoChooserTask(); public CarDetailsPage() { InitializeComponent(); photoTask.Completed += PhotoTask_Completed; // ... other code ... } private void PhotoButton_Click( object sender, RoutedEventArgs e) { photoTask.Show(); } private void PhotoTask_Completed( object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.SetSource(e.ChosenPhoto); CarDataStore.SaveTempCarPhoto(image, delegate { MessageBox.Show( "There is not enough space on " + "your phone to save your selection. Free some " + "space and try again." , "Warning" , MessageBoxButton.OK); }); car.Picture = image; hasUnsavedChanges = true ; } } * This source code was highlighted with Source Code Highlighter .

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдлреЛрдЯреЛ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, PhotoChooserTask рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рддрд╕реНрд╡реАрд░ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрд╡реЗрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, PhotoChooserTask.Completed рдШрдЯрдирд╛ OnNavigatedTo рд╡рд┐рдзрд┐ рдХреЛ рдкреБрди: рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдПрдХ рдирдпрд╛ рдмрд┐рдЯрдореИрдкрдЗрдореЗрдЬ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЪрдпрдирд┐рдд рдлрд╝реЛрдЯреЛ рдХреЛ рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЫрд╡рд┐ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрдВрдбрд╛рд░рдг рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред рдЫрд╡рд┐рдпрд╛рдВ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд░рд╛рдЬреНрдп рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рди рд╣реА рдкреГрдердХ рднрдВрдбрд╛рд░рдг рдХреЗ рд░рд╛рдЬреНрдп рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдореЗрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЫрд╡рд┐ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрдЧреНрд░рд╣рдг рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рд╣реЗрдЬрдирд╛ рд╣реЛрдЧрд╛ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реЗрд╡ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж CarDataStore рд╡рд░реНрдЧ рдХреЛ рдлреЛрдЯреЛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, SaveTempCarPhoto рдФрд░ GetTempCarPhoto рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрдЯреЛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдмрд╕ SaveCarPhoto рдФрд░ GetCarPhoto рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реЗрдЬреЗ рдЧрдП рдлрд╝реЛрдЯреЛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред SaveCarPhoto рдФрд░ GetCarPhoto рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ "рдкреГрдердХ рднрдВрдбрд╛рд░рдг: рдмрдЪрдд рдФрд░ рд▓реЛрдбрд┐рдВрдЧ рдбреЗрдЯрд╛" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрдВрдд рдореЗрдВ, рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛рд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдкрд┐рдХреНрдЪрд░ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдЫрд╡рд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рддрд╕реНрд╡реАрд░ рдЪрд┐рддреНрд░ рд╕рдВрдкрддреНрддрд┐ рд╕реЗ рдЬреБрдбрд╝реЗ рдЫрд╡рд┐ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред

рдиреЛрдЯ:
PhotoResult рд╡рд░реНрдЧ рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдЙрддреНрддреАрд░реНрдг рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ OriginalFileName рдЧреБрдг рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрдкрддреНрддрд┐ XNA MediaLibrary рд╕реЗ рдЪрдпрдирд┐рдд рдлреЛрдЯреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрдВрдбрд╛рд░рдг рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рд╕рд╣реЗрдЬрдирд╛ рди рдкрдбрд╝реЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдУрд░рд┐рдЬрд┐рдирд▓рдиреЗрдо рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ: рдпрд╣ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдж рдореЗрдВ XNA MediaLibrary рдХреНрд▓рд╛рд╕ рд╕реЗ рдлрд╝реЛрдЯреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдореАрдбрд┐рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрдм рднреА рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡реЗ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд░рд╣реЗрдВрдЧреЗ, рднрд▓реЗ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рдж рдореЗрдВ рдореАрдбрд┐рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдпрд╛ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓ рджреЗрдВред

Source: https://habr.com/ru/post/In118462/


All Articles