WPF - сложный способ отображения чего-либо - PullRequest
0 голосов
/ 20 июля 2011

У меня есть объект, который мне нужно отобразить особым образом:

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 с группировкой (так что я могу группировать), но я не знаю, как разделить этот список на Normal / Special PER GROUP, как показано.Флажки активируются в зависимости от того, есть ли в коллекции Бар или нет.

Не знаю, с чего начать.

1 Ответ

0 голосов
/ 20 июля 2011

A ListBox не сможет разбить список Foo экземпляров на два набора на основе свойства IsSpecial, вам придется сделать это самостоятельно.

В этом случае «стандартный» подход заключается в использовании шаблона MVVM, в котором создаются две ViewModel для «особых» экземпляров Foo, один из не специальных экземпляров, а затем привязывается каждый к вашему представлению.

...