【发布时间】:2016-09-23 03:19:28
【问题描述】:
我正在尝试将项目绑定到列中的 ListView。
XAML:
<Grid>
<ListView x:Name="songList">
<ListView.View>
<GridView>
<GridViewColumn Header="Title" Width="200" DisplayMemberBinding="{Binding Title}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
背后的代码:
public List<MediaItem> mIList = new List<MediaItem>();
void refresh()
{
songList.Items.Clear();
foreach (KeyValuePair<int, Library.MediaItem> i in ActiveLibrary.Items)
{
Library.MediaItem item = i.Value;
mIList.Add(new MediaItem() { Title = item.Title });
}
songList.ItemsSource = mIList;
}
public class MediaItem
{
public string Title { get; set; }
}
当调用 refresh 时,我希望 MediaItem 的标题显示在它自己的列中(以便我以后可以添加其他属性)。
此时,GridView 只显示 ToString() 结果:
其他问题暗示解决方案与DataContext有关,但我没有找到任何可行的方法。
谢谢。
【问题讨论】:
-
我尝试了一个带有 get 和 set 访问器的 ObservableCollection,并在初始化程序中将数据上下文设置为自身。它仍然不显示列。
标签: c# wpf listview gridview binding