3

我试图弄清楚如何处理带有复杂对象的组合框。

我有以下两个课程:

备份版本.cs

public class BackupVersion
{
public string Name { get; set; }
public BackupVersion() { }

    public BackupVersion(string name)
    {
        Name = name;
    }
}

子系统版本.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 对象?

如果我正在做一些不常见的事情,还请评论编码风格(例如,这是定义和绑定集合的最佳方式吗?)

4

1 回答 1

2

要取回原始对象:

this.c1.SelectedItem;
于 2013-03-07T13:07:43.320 回答