Рассмотри это изображение:
альтернативный текст http://img25.imageshack.us/img25/9743/timetablepo.png
TimeTableViewModel этого пользовательского интерфейса выглядит так:
public string SchoolclassCodeMonday {get;set;}
public string SchoolclassCodeTuesday {get;set;}
public string SchoolclassCodeWednesday {get;set;}
public string SchoolclassCodeThursday {get;set;}
public string SchoolclassCodeFriday {get;set;}
public string SchoolclassCodeSaturday {get;set;}
public string SchoolclassCodeSunday {get;set;}
Выше будет работать, когда я отобразил бы только свойства в виде строки в текстовом поле.
Но я хочу связать каждый комбокс с взаимной ObservableCollection
SchoolclassCodes и SelectedItem, также известный как DisplayMember ComboBox, должен как-то быть
НАСТРОЕНО в одно из 7 вышеупомянутых свойств И SelectedItem, если он получен, должен содержать строку
из всех 7 школьных классов, выбранных в выпадающем списке.
Или то, что я на самом деле хочу просто другими словами; -)
Показать в ComboBox список SchoolclassCodes, установить значение SelectedItem.SchoolclassCode "WeekdayName" на значение выбранного ComboboxItem.SchoolclassCode
Ну, у меня есть некоторые идеи, но всем не хватает опыта, чтобы заставить их работать в полную силу.
Я мог бы добавить к TimeTableViewModel для каждого свойства a ObservableCollection
SchoolclassCodes но это мне кажется очень излишним. Зачем мне хранить 7 списков для ОДНОЙ строки, если в каждой ячейке один и тот же список с одинаковыми элементами?
Любые предложения относительно структуры ViewModels и привязки в Wpf приветствуются:)
ОБНОВЛЕНИЕ : Мой SchoolclassCodes список создается динамически, поэтому у меня нет возможности статического связывания или элементов строки с жестким кодом в XAML ...
UPDATE2:
ОК. Я пытался заставить его работать с MVVM:
Мне пришлось изменить ObservableCollection ClassCodes
до ObservableCollection SchoolclassCodes как объект Schoolclass
содержит ссылку на класс Pupil со строками, которые невозможны.
Schoolclass.cs:
public string SchoolclassCode {get;set;}
...
TimeTableWeekViewModel.cs:
public ObservableCollection<Schoolclass> SchoolclassCodes
{
get { return _schoolclassCodes; }
set
{
_schoolclassCodes = value;
this.RaisePropertyChanged("SchoolclassCodes");
}
}
XAML:
Как должна выглядеть привязка СЕЙЧАС, потому что wcf не находит SchoolclassCodes?