WPF Datagrid with ComboBox Template

WPF Datagrid with ComboBox Template

I have the below Person Model as an example class, with an ObservableCollection<string> of occupations.  How would I bind a ComboBox so that the ItemSource is linked to the Occupations property, and the selected item is linked to the Occupation property?  This is usually pretty easy with the standard data grid, but is causing me issues with the Xceed version and I haven't been able to figure it out through testing these past few days.

It may be worth noting that my Datagrid is bound to the ObservableCollection<PersonModel> People in the view model.
  1. public class PersonModel : INotifyPropertyChanged
  2.     {
  3.         #region <--Constructor and Destructor...-->
  4.         public PersonModel()
  5.         {
  6.             Occupations.Add("Engineer");
  7.             Occupations.Add("Farmer");
  8.             Occupations.Add("Politician");
  9.         }

  10.         ~PersonModel() { } //Currently Does Nothing
  11.         #endregion

  12.         #region <--Fields...-->
  13.         private string firstName;
  14.         private string lastName;
  15.         private string occupation;
  16.         private static ObservableCollection<string> occupations = new ObservableCollection<string>() { "Engineer", "Farmer", "Politician", "Lawyer", "Coder", "Teacher" };
  17.         #endregion

  18.         #region <--Property Changed Event Handlers...-->
  19.         public event PropertyChangedEventHandler PropertyChanged;

  20.         // This method is called by the Set accessor of each property.
  21.         // The CallerMemberName attribute that is applied to the optional propertyName
  22.         // parameter causes the property name of the caller to be substituted as an argument.
  23.         private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
  24.         {
  25.             if (PropertyChanged != null)
  26.             {
  27.                 PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
  28.             }
  29.         }
  30.         #endregion

  31.         #region <--Properties...-->

  32.         public ObservableCollection<string> Occupations
  33.         { 
  34.             get => occupations;
  35.             set => occupations = value;
  36.         }

  37.         public string Occupation
  38.         {
  39.             get { return occupation; }
  40.             set
  41.             {
  42.                 occupation = value;
  43.                 NotifyPropertyChanged(nameof(Occupation));
  44.             }
  45.         }

  46.         public string FullName
  47.         {
  48.             get => LastName + ", " + FirstName;
  49.         }

  50.         public string LastName
  51.         {
  52.             get { return lastName; }
  53.             set
  54.             {
  55.                 lastName = value;
  56.                 NotifyPropertyChanged(nameof(LastName));
  57.             }
  58.         }

  59.         public string FirstName
  60.         {
  61.             get { return firstName; }
  62.             set
  63.             {
  64.                 firstName = value;
  65.                 NotifyPropertyChanged(nameof(FirstName));
  66.             }
  67.         }
  68.         #endregion

  69.         #region <--Methods...-->

  70.         #endregion

  71.     }