繁体   English   中英

如何在WPF中使用枚举值分层绑定TreeView

[英]How to bind a TreeView Hierarchically by using enum values in WPF

好的,所以我不确定这是否可能,但是我将在这里提出问题,并希望得到答案。

假设我有一个类的列表,比如说Media项定义如下

Enum MediaItemType{
  Book,
  CD,
  VideoGame
}

public MediaItem{
  public string Name { get; set; }
  public MediaItemType { get; set; }
}

现在假设我想将MediaItems的列表绑定到TreeView,以便每个MediaItem根据媒体项的类型在单独的子树中结束upp。 有可能这样做,如果可以,我该怎么做?

在我的Xaml代码中,我假设已将列表定义为上下文中名为MediaItems的属性。

<Grid>
   <TreeView ItemsSource="{Binding Path=MediaItems}">
</Grid>

树视图应该是这样的

Book
  - In to the wild
  - Code Complete
CD
  - Foo Fighters
  - Bach
DVD
  - X-men
  - Casino Royale

没问题。 在模型中,您具有MediaItem ,在模型视图中,您必须具有MediaItemView类型,如下所示:

public class MediaItemView
{
    public MediaItemType { get; set; }
    public List<MediaItem> medialist;
}

在该类上定义绑定,并定义一个Converter ,它将enum值转换为其string表示形式。

我不知道有关的树视图,但你可以实现类似的东西来描述你的描述使用GroupDescription上ListBox或ListView中MediaItemType属性分组什么这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM