Позвольте мне сначала описать мою цель: я создал объект с тремя свойствами: начало, конец и время. Я создал ObservableCollection из 8 из этих свойств, так это выглядит следующим образом:Привязка отображаемого значения свойств коллекции к ComboBox
//C#
internal class MyObjects : ObservableCollection<MyObjectSetting>
{
public MyObjects()
: base()
{
Add(new MyObjectSetting(
start1,
end1,
time1);
Add(new MyObjectSetting(
start2,
end2,
time2);
(etc)
}
}
Я хотел бы иметь 3 ComboBoxes, которые связываются с индивидуальными свойствами, перечисленными в этих 8 объектов, так ComboBoxes будет выглядеть «Начало1 , start2, ... start8 "," end1, end2, ... end8 ".
Следующий код успешно связывает ComboBox с самими объектами, но я не согласен с тем, как обращаться к отдельным свойствам каждого из выпадающих списков.
// WPF
<Grid>
<Grid.Resources>
<local:MyObjects x:Key="myMyObjects"/>
</Grid.Resources>
<ComboBox x:Name="cbxStartPosition"
Grid.Row="0"
Grid.Column="3"
ItemsSource="{Binding Source={StaticResource myMyObjects}}"
>
</Grid>
Может кто-то помочь мне определить, как связать свойства объектов, хранящихся в коллекции значения дисплея, показанного в ComboBox?
Я попытался добавления DataTemplate для ListBoxinvestigating образца MultiBinding на MSDN here, как показано ниже, но получаю ошибку ниже:
//WPF
<DataTemplate x:Key="StartPositionTemplate">
<ListBox>
<MultiBinding Converter="{StaticResource myNameConverter}">
<Binding Path="FirstName"/>
<Binding Path="LastName"/>
</MultiBinding>
</ListBoxItem>
</DataTemplate>
Ошибка 32 Значение типа «DataTemplate» не может быть добавлен к коллекции или словарю типа 'UIElementCollection'.
Эта ошибка была вызвана, потому что мой не был в разделе XAML. HTH людей в будущем. Использование DataTemplate - это путь, по которому можно ответить.
Если DataTemplate не путь, кто-то знает, что было бы лучше, чтобы подойти к этому?
Это именно то, что я искал. Большое вам спасибо - я использовал второй сложный сценарий, я углубится в ItemTemplates, чтобы понять, что происходит для будущей работы. Отличная работа! – CrimsonX