将不同类型的对象绑定到WPF中的组合框

时间:2010-11-15 02:12:16

标签: wpf combobox object

要求: 1.在组合框中显示所有引荐类型的列表。 (例如,报纸,黄页,客户) 2.选择客户端后,会显示一个弹出窗口,用于搜索系统中的客户端。 3.从弹出窗口中,用户可以选择一个客户端。 4.弹出窗口将被解除,客户端名称将填充到组合框中。

我差不多完成了实现,其中完成了需求1到3。但是,我坚持使用数字4.原因是,组合框绑定到了referraltype对象。但是,弹出窗口中选择的项目是“客户端”类型。现在,我只是在一个单独的文本块中显示所选的客户端。但是,客户希望它作为组合框本身的一部分显示。

不确定如何做到。

任何帮助都将不胜感激。

由于 巴拉

1 个答案:

答案 0 :(得分:0)

您可以拥有一个BaseReferralTypeViewModel,其中NewspaperViewModel,YellowPagesViewModel和ClientViewModel都继承自。在组合框中,xaml中的资源声明了DataTemplates,它描述了如何在组合框中显示这些类型。在前两种类型的情况下,它可能只是一个文本块。 在ClientViewModel的情况下,创建一个实例,但不要使用任何客户端数据初始化它。 DataTemplate可以检测到这一点,只显示推荐类型。 一旦ClientViewModel通过弹出窗口初始化了客户端数据,DataTemplate将检测到这一点并显示名称。