Utilisation de WPF DataGridComboBoxColumn avec MVVM - Liaison à une propriété dans ViewModel

Je suis l'aide de l'excellent MVVM Light Toolkit. Mon ViewModel expose:

public const string CourtCodesTypeCourtPropertyName = "CourtCodesTypeCourt";
private List<CourtType> _courtCodesTypes = new List<CourtType>();
public List<CourtType> CourtCodesTypeCourt
{
    get
    {
        return _courtCodesTypes;
    }

    set
    {
        if (_courtCodesTypes == value)
        {
            return;
        }

        var oldValue = _courtCodesTypes;
        _courtCodesTypes = value;

        //Update bindings and broadcast change using GalaSoft.MvvmLight.Messenging
        RaisePropertyChanged(CourtCodesTypeCourtPropertyName, oldValue, value, true);
    }
}

public const string CourtCodesPropertyName = "CourtCodes";
private List<Court> _courtCodes = null;
public List<Court> CourtCodes
{
    get
    {
        return _courtCodes;
    }

    set
    {
        if (_courtCodes == value)
        {
            return;
        }

        var oldValue = _courtCodes;
        _courtCodes = value;

        //Update bindings and broadcast change using GalaSoft.Utility.Messenging
        RaisePropertyChanged(CourtCodesPropertyName, oldValue, value, true);
    }
}

Le point de Vue a un DataGrid:

<DataGrid
      ItemsSource="{Binding CourtCodes, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
      AutoGenerateColumns="False"
      AlternatingRowBackground="{DynamicResource OffsetBrown}"
      AlternationCount="1" Margin="45,0">
   <DataGrid.Columns>
    <DataGridTextColumn Binding="{Binding Abbreviation, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
         Header="Abbreviation"
         Width="25*" />
    <DataGridTextColumn Binding="{Binding FullName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
         Header="Court"
         Width="75*" />
    <DataGridComboBoxColumn Header="CourtType" 
         ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.CourtCodesTypeCourt} TextBinding="{Binding CourtTypeDescription}""/>
   </DataGrid.Columns>
  </DataGrid>

Le contrôle DataGrid est un ItemsSource, comme vous pouvez le voir, de CourtCodes. Je veux le CourtType colonne à une liste déroulante de tous les énumérés CourtTypes qui sont contenues dans l'CourtCodesTypeCourt. Pour la vie de moi, je n'arrive pas à remplir le DataGridComboBoxColumn avec quoi que ce soit. L'actuelle tentative a échoué, est à la recherche d'utiliser RelativeSource... ce que je fais mal?

En plus de ne pas travailler, les deux erreurs que je vois sont:

Système.De Windows.Erreur De Données: 4 : Ne Peut Pas
trouver la source de la liaison avec la référence
'RelativeSource FindAncestor,
AncestorType='Système.De Windows.Fenêtre",
AncestorLevel='1".
BindingExpression:Path=DataContext.CourtCodesTypeCourt;
DataItem=null; élément cible est
'DataGridComboBoxColumn'
(HashCode=38771709); cible de la propriété
est "ItemsSource' ('type IEnumerable')

et

Système.De Windows.Erreur De Données: 40 :
BindingExpression erreur de chemin d'accès:
'CourtCodesTypeCourt la propriété de ne pas
trouvé sur l '"objet" "Cour"
(HashCode=38141773)'.
BindingExpression:Path=CourtCodesTypeCourt.CourtTypeDescription;
DataItem= "Cour" (HashCode=38141773);
élément cible est la "zone de liste déroulante'
(Name="); la propriété target est 'Texte'
(de type 'String')

source d'informationauteur Mike L