Если ваша коллекция DatatypesDisplayed имеет значение null, когда пользовательский интерфейс изначально связывается с ней, то последующие изменения не будут сообщаться представлению ... вы инициализируете CollectionView
в конструкторе вашего класса?
Также - дважды проверьте, что вы устанавливаете DataContext
представления как экземпляр вашего класса ...
Ура, Ян
EDIT:
ОК - взгляните на эту строку в xaml, которая определяет ваш комбинированный список:
<ComboBox Name="gType" ItemsSource="{Binding Path=ModelItem.DatatypesDisplayed }" DisplayMemberPath="Name" Margin="3" MinWidth="150" Height="20" />
это означает, что «материал», который должен появиться в вашем поле со списком, должен находиться в коллекции под названием DataTypesDisplayed. Это может быть коллекция объектов любого типа, если этот объект предоставляет свойство с именем «Name», потому что мы используем его для DisplayMemberPath. Кроме того, эта коллекция должна быть свойством того, что называется ModelItem, а ModelItem должно быть свойством того, что является DataContext для вашего представления ...
соберите все это вместе, и я ожидаю увидеть что-то вроде этого:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Set the View's DataContext to be an instance of the class that contains your CollectionView...
this.DataContext = new MainWindowViewModel();
}
}
public class MainWindowViewModel
{
public MainWindowViewModel()
{
}
public object ModelItem { get; set; }
}
public class ModelItem
{
public CollectionView DataTypesDisplayed { get; set; }
}
Я не слишком уверен, почему у вас есть ModelItem в пути вашей привязки ItemsSource, и вы можете обнаружить, что он вам не нужен - просто поместите CollectionView непосредственно в ViewModel .. .