我试图弄清楚如何处理带有复杂对象的组合框。
我有以下两个课程:
备份版本.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 对象?
如果我正在做一些不常见的事情,还请评论编码风格(例如,这是定义和绑定集合的最佳方式吗?)