Привязка DataGridComboBoxColumn к списку <Enum>
Я хочу связать список значений перечисления с DataGridComboBoxColumn. Я много пробовал, но на самом деле ничего не работает.
Вот что у меня есть:
ViewModel-класс:
public class ViewModel
{
public ViewModel()
{
TestCollection= new ObservableCollection<MyEnum>();
AnyClasses = new ObservableCollection<AnyClass>();
//... fill AnyClasses with stuff...
TestCollection.Add(MyEnum.Value1);
TestCollection.Add(MyEnum.Value2);
TestCollection.Add(MyEnum.Value3);
TestCollection.Add(MyEnum.Value4);
TestCollection.Add(MyEnum.Value5);
}
public ObservableCollection<MyEnum> TestCollection { get; set; }
public ObservableCollection<AnyClass> AnyClasses { get; private set; }
}
мое перечисление:
public enum MyEnum
{
Value1,
Value2,
Value3,
Value4,
Value5
}
Codebehind:
public partial class WPFWindow
{
private ViewModel Vm { get; set; }
public WPFWindow()
{
InitializeComponent();
Vm = new ViewModel();
DataContext = Vm;
}
...
}
и, наконец, XAML:
<DataGrid AutoGenerateColumns="False" Height="289" x:Name="dataGridAnything" ItemsSource="{Binding AnyClasses}" >
<DataGrid.Columns>
<DataGridComboBoxColumn Width="200" Header="Optionen" ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window}, Path=DataContext.TestCollection}" SelectedValuePath="Value"/>
</DataGrid.Columns>
</DataGrid>
Если я запускаю проект, в DataGridComboBoxColumn ничего не отображается. Что я сделал не так? Спасибо за помощь.
Изменить: вы можете скачать проект (построенный с VS 2013) здесь:Скачать