WPF - 显示某些内容的复杂方式

时间:2011-07-20 01:04:48

标签: wpf templates listbox datatemplate itemtemplate

我有一个需要以特殊方式显示的对象:

public class Foo
{
    public String GroupName { get; set; }

    public String FooName { get; set; }

    public ObservableCollection<Bar> Bars { get; set; }

    public Boolean IsSpecial { get; set; }
}

我需要显示器看起来像这样:

|----------------------------------------------------------|
| GROUP NAME                                             \/|
|----------------------------------------------------------|
 Normal Name   A   B   C           Special Name   X
 ------------------------          ------------------------
 NormalFoo1    O   O   O           SpecialFoo1    O        
 NormalFoo2    O   O   O
 NormalFoo3    O   O   O

基本上,我知道如何使用分组进行ListBox(所以我可以分组),但我不知道如何将该列表拆分为正常/特殊PER GROUP,如图所示。复选框已启用,具体取决于条目是否在集合中。

不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

ListBox无法根据Foo属性将IsSpecial个实例列表拆分为两个集合,您将不得不自己执行此操作。

这里的'标准'方法是使用MVVM模式,在'特殊'Foo实例上创建两个ViewModel,一个非特殊实例,然后将每个实例绑定到View。