ListView

时间:2017-04-05 13:30:11

标签: c# wpf listview inheritance

我们说我有一个名为IFoo的接口

IFoo.cs

public interface IFoo
{
    string Name{ get; set; }
}

此接口由两个类继承:

GoodFoo.cs

public class GoodFoo : IFoo
{
    public string Name { get; set; }
}

BadFoo.cs

public class BadFoo : IFoo
{
    public string Name { get; set; }
}

现在让我们承认我有一个名为FooConsumer的课程

FooConsumer.cs

public class FooConsumer
{
    public IFoo MyFoo { get; set; }
}

到目前为止,一切看起来都很标准,你应该猜测接下来会发生什么。

我想要实现的是获取包含GoodFoo和BadFoo(简单部分)的IFoo的集合,并将它们显示在单个 ListView中我的FooConsumer将从中选择它的IFoo。

我的问题是用这种模板在一个ListView中显示它们,让我的用户只从这个列表中选择一个IFoo,它是GoodFoo还是BadFoo:

  

Foos

     

Good Foos:

     

-GoodFoo1

     

-GoodFoo2

     

-GoodFoo3

...etc 
     

Bad Foos:

     

-BadFoo1

     

-BadFoo2

     

-BadFoo3

...etc

我目前正在mvvm项目中这样做。 我不确定ListView是否是最适合此问题的控件。我相信我可以通过ScrollViewer中的一些StackPanel实现这一点(但我不知道我将如何处理SelectedItem),但必须有更好的方法。

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用GoodFoo和BadFoo进行分组?如果没有,试一试: This可以成为了解ListView

中分组的良好起点

如果您需要更多帮助,请与我们联系。