Я пытаюсь выяснить, как обрабатывать Combobox со сложными объектами.Управление combobox и сложными объектами
У меня есть следующие 2 класса:
BackupVersion.cs
public class BackupVersion
{
public string Name { get; set; }
public BackupVersion() { }
public BackupVersion(string name)
{
Name = name;
}
}
SubsystemVersions.cs
public class SubsystemVersions : ObservableCollection<BackupVersion>
{
public SubsystemVersions()
{
Add(new BackupVersion("amit"));
Add(new BackupVersion("aaa"));
Add(new BackupVersion("ofir"));
}
}
Я также должен следующее окно XAML:
<Grid>
<StackPanel>
<StackPanel.Resources>
<local:SubsystemVersions x:Key="Backups"/>
</StackPanel.Resources>
<ComboBox Name="c1"
ItemsSource="{StaticResource Backups}"
Text="mmm"
DisplayMemberPath="Name"
SelectedValuePath="Name"
IsEditable="true"
IsReadOnly="true"/>
<TextBlock Text="{Binding ElementName=comboBox1, Path=SelectedItem}"/>
</StackPanel>
</Grid>
Сюда, в коде позади, я могу получить выбранную строку в выпадающем списке с помощью:
this.c1.SelectedValue.ToString()
Мой вопрос, как я могу получить обратно исходный объект то есть объект BackupVersion?
Просьба также прокомментировать стиль кодирования, если я делаю то, что не является общим (например, в том, что лучший способ определить и связать коллекцию?)
'** Смущенный **' ;-) – amitfr
Вам не обязательно быть :) –