我的应用程序根据其他地方的用户选择更改了ListBox的内容。最终,此列表也将被过滤。我想使用CollectionViewSource来帮助管理ListBox中的项目。我将项目添加到ObservableCollection,但没有看到ListBox中的任何项目。
这是XAML:
{module_photogallery id="12345" resultsPerPage="6" collection="test2016" template="" }
<div class="container">
<div class="row">
{% for item in test2016.items %}
<div class="col-md-3 col-sm-3 col-xs-6">
<a onclick="myLightbox.start(this);return false;" rel="lightbox[photo2015]" href="{{item.link}}">
<img src="{{item.link}}?Action=thumbnail&Width=250&Height=150&algorithm=fill_proportional">
</a>
</div>
{% endfor %}
<a href="{{test2016.pagination.previousPageUrl}}">Prev</a> <a href="{{test2016.pagination.nextPageUrl}}">Next</a>
</div>
</div>
<Window.Resources>
<ResourceDictionary>
...
<CollectionViewSource x:Key="DataFileView" Source="DataFilesCollection"/>
</ResourceDictionary>
</Window.Resources>
...
<ListBox x:Name="FileList" ItemsSource="{Binding Source={StaticResource DataFileView}}"
Grid.Column="2" SelectionMode="Single" SelectionChanged="DataFile_Select">
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type self:ExploreDataItem}">
<TextBlock Text="{Binding DisplayText}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
是DataFilesCollection
。
答案 0 :(得分:0)
我想您忘了将Binding
添加到CollectionViewSource
的来源。我的代码中没有发现任何其他错误。一切似乎都是正确的。希望你的DataFilesCollection
也不是空的。
见以下更正的代码:
<CollectionViewSource x:Name="DataFileView" Source="{Binding DataFilesCollection}" />