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

发布于 2024-11-25 04:14:44 字数 815 浏览 3 评论 0原文

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

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

基本上,我知道如何使用分组来创建列表框(这样我可以分组),但我不知道如何拆分将该列表放入正常/特殊每组中,如图所示。复选框的启用取决于 Bar 是否在集合中。

不知道从哪里开始。

I have an Object I need to display in a special fashion:

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

    public String FooName { get; set; }

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

    public Boolean IsSpecial { get; set; }
}

I need the display to look like so:

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

Basically, I know how to do a ListBox with a Grouping (so I can group), but I don't know how to split that list into Normal/Special PER GROUP like it's shown. The checkboxes are enabled depending on if a Bar is in the collection or not.

No idea where to start from here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

獨角戲 2024-12-02 04:14:44

ListBox 无法根据 IsSpecial 属性将 Foo 实例列表拆分为两个集合,您需要必须自己做这件事。

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

A ListBox isn't going to be able to split the list of Foo instances into two sets based on the IsSpecial property, you are going to have to do this yourself.

The 'standard' approach here would be to use the MVVM pattern, creating two ViewModels, on of 'special' Foo instances, one of non-special instances, then bind each to your View.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文