Guest User

Untitled

a guest
Jan 19th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. <DataGrid HorizontalAlignment="Left" Height="100" Margin="54,25,0,0" VerticalAlignment="Top" Width="264"
  2. IsSynchronizedWithCurrentItem="True" AutoGenerateColumns="False"
  3. ItemsSource="{Binding DataSource}" SelectedItem="{Binding SelectedPerson}">
  4. <DataGrid.Columns>
  5. <DataGridTextColumn Binding="{Binding FirstName}" />
  6. <DataGridTextColumn Binding="{Binding LastName}" />
  7. </DataGrid.Columns>
  8. </DataGrid>
  9.  
  10. public class Person
  11. {
  12. public string FirstName { get; set; }
  13. public string LastName { get; set; }
  14. }
  15.  
  16. public class VM : Notifier
  17. {
  18. private ObservableCollection<Person> dataSource;
  19. public ObservableCollection<Person> DataSource
  20. {
  21. get { return dataSource; }
  22. set
  23. {
  24. dataSource = value;
  25. OnPropertyChanged("DataSource");
  26. }
  27. }
  28.  
  29. private Person selectedPerson;
  30. public Person SelectedPerson
  31. {
  32. get { return selectedPerson; }
  33. set
  34. {
  35. selectedPerson = value;
  36. OnPropertyChanged("SelectedPerson");
  37. }
  38. }
  39.  
  40. private string string1;
  41. public string String1
  42. {
  43. get { return string1; }
  44. set
  45. {
  46. string1 = value;
  47. OnPropertyChanged(String1);
  48. }
  49. }
  50.  
  51. public VM()
  52. {
  53. String1 = "abc";
  54.  
  55. DataSource = new ObservableCollection<Person>();
  56. DataSource.Add(new Person { FirstName = "Alpha", LastName = "Apple" });
  57. DataSource.Add(new Person { FirstName = "Beta", LastName = "Banana" });
  58. DataSource.Add(new Person { FirstName = "Charlie", LastName = "Cucumber" });
  59. }
  60.  
  61. public ICommand SetSelectedCommand => new RelayCommandBase(SetSelected);
  62. private void SetSelected(object parameter = null)
  63. {
  64. SelectedPerson.FirstName = String1;
  65. SelectedPerson = SelectedPerson; // force setter to run
  66. DataSource = DataSource; // force ObservableCollection setter to run
  67. }
  68. }
Add Comment
Please, Sign In to add comment