2013-03-07 59 views
3

我想弄清楚如何处理与复杂对象的组合框。管理组合框和复杂对象

我有以下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对象:在后面的代码,我可以用得到的组合框中选择的字符串?

请还对编码风格发表评论,如果我做的东西是不常见的(例如,是最好的方式来定义和绑定集合?)

回答

2

要返回原来的对象:

this.c1.SelectedItem; 
+1

'** Embarrassed **';-) – amitfr 2013-03-07 13:33:08

+0

您不必:) – 2013-03-07 13:34:44