C# TreeView项目资源MVVM绑定

C# TreeView项目资源MVVM绑定,c#,wpf,xaml,mvvm,treeview,C#,Wpf,Xaml,Mvvm,Treeview,我有一个带有默认TreeView项的TreeView,还有一个带有dynaic值。但是,我没有使用TreeViewItem的名称,而是: 整行是:“MyWindowsMediaPlayer.Model.playlidb” XAML: 树视图不知道如何显示PlayDB对象 如下所示覆盖PlayDB的ToString()方法: public override string ToString() { return "NameOfElement"; } 您还可以编辑TreeView资源,如下所述

我有一个带有默认TreeView项的TreeView,还有一个带有dynaic值。但是,我没有使用TreeViewItem的名称,而是:

整行是:“MyWindowsMediaPlayer.Model.playlidb”

XAML:


树视图不知道如何显示PlayDB对象

如下所示覆盖PlayDB的ToString()方法:

public override string ToString()
{
  return "NameOfElement";
}
您还可以编辑TreeView资源,如下所述:

您必须在
TreeView
资源下定义
DataTemplate
,以定义模板UI应如何呈现TreeView项目的绑定视图模型

 <DataTemplate DataType="{x:Type local:PlaylistDB}">
          <StackPanel Orientation="Horizontal">
             <TextBlock Text="{Binding NamePlaylist }" />
          </StackPanel>
 </DataTemplate>


我明白了,但是我应该把displaymemberpath放在哪里?像user1672994 descibedI一样,我会避免这样做,而将“ToString”“object”成员留给调试信息或“object”序列化。
this.ItemSourceTree.Add(new PlaylistDB() { NamePlaylist = "I'm a test" });
this.ItemSourceTree.Add(new PlaylistDB() { NamePlaylist = "I'm a test 2 " });
public override string ToString()
{
  return "NameOfElement";
}
 <DataTemplate DataType="{x:Type local:PlaylistDB}">
          <StackPanel Orientation="Horizontal">
             <TextBlock Text="{Binding NamePlaylist }" />
          </StackPanel>
 </DataTemplate>