Q:

Связать Combobox с колонкой dataGrid wpf

Приветствую, народ!
Мой вопрос заключается в следующем:
Есть форма wpf 

            selectedObjectsDataGrid.ItemsSource = attributesManager.ObjectsInGrid;

Ее сорс - это лист объектов ObjectInGrid
    public class ObjectInGrid
{
    private ObjType? type;
    public Guid Object { get; set; }
    public ObjType? Type 
    {
        get
        {
            return type;
        }
        set
        {
            type = value;  
        }
    }

    public ObjectInGrid(Guid obj)
    {
        Object = obj;
    }
    public enum ObjType
    {
        None = 0,
        Door = 1,
        Window = 2
    }
}

В комбобоксе есть три варианта (как в enum ObjType).
Объекты поступают в датагрид так: пользователь выделяет один или несколько объектов в документе. по нажатию, грубо говоря, создается объект 
       public void AddObjectToGrid(Guid id)
   {
      ObjectInGrid o = new ObjectInGrid(id);
      ObjectsInGrid.Add(o);
   }

Property Type, как и колонка Type пока пустые.
когда пользователь добавил все объекты, он выделяет в гриде один или несколько объектов и в комбобоксе выбирает тип.

На событие SelectionChanged комбобокс находит по id элемент в листе-сорсе и заполняет проперти Type.
Я только начала работать с WPF, но предполагаю, что там есть возможность как-то "связать" колонку типа и комбобокс нормальным способом, а не как у меня вручную.
В моем подходе мне не нравится:

Событие SelectionChanged срабатывает, когда меняется выделенный айтем, но если я выбираю другой объект и мне нужно для него поставить такой же тип как и в прошлом - оно не генерится.
Хотелось бы сделать все на более высоком уровне.
Гуглила, искала, но ничего конкретного для выполнения этой задачи не нашла.

A:

Окей, судя по всему, вам нужно вот что:
<ItemsControl ItemsSource="{Binding ObjectsInGrid}"
              SelectedValue="{Binding SelectedObjectInGrid}" ...>
   <!-- ... -->
</ItemsControl>

<Window.Resources>
    <ObjectDataProvider x:Key="ObjTypeEnumValues"
                        MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
        <ObjectDataProvider.MethodParameters>
            <x:Type Type="src:ObjType" />
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
</Window.Resources>

<Combobox ItemsSource="{Binding Source={StaticResource ObjTypeEnumValues}}"
          SelectedValue="{Binding SelectedObjectInGrid}"
          DisplayMemberPath="Type"/>

Вроде бы code-behind не нужен вовсе. Но вам нужно установить правильный DataContext.

Да, ещё одна проблема вашего кода: ваша ViewModel (то есть, класс, к которому будет Binding), а именно, класс ObjectInGrid, не реализует интерфейс INotifyPropertyChanged. Это важно, обязательно имплементируйте его. Иначе работать не будет.

