麻烦将CollectionViewSource绑定到ListBox

时间:2011-10-19 14:23:01

标签: wpf binding listbox

我有一个包含ContentControl的主窗口。 ContentControl有几个基于绑定条件加载的DataTemplates,模板包含一个UserControl,它包含一个名为ThumbListBox的样式ListBox。

我正在尝试将CollectionViewSource绑定到XAML中的ListBox,但似乎无法让它工作。

我在名为DataSources.xaml的ResourceDictionary中定义了CollectionViewSource(称为ThumbnailDataView)。我已将DataSources.xaml添加到主窗口中的Merged Dictionaries

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Assets/Templates/DataSources.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>  
</Window.Resources>

除了将DataSources.xaml添加到UserControl中的合并字典外:

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="../Templates/DataSources.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>

我正在我的代码中创建对CollectionViewSource的引用:

Public ThumbnailDataView As CollectionViewSource    
AppLocal.ThumbnailDataView = CType(Application.Current.MainWindow.Resources("ThumbnailDataView"), CollectionViewSource)

我需要将ListBox绑定到ThumbnailDataView CollectionViewSource,然后我需要能够在代码隐藏中设置CollectionViewSource源,因为我需要在应用程序生命周期的不同点设置不同的列表(Of ObservableCollection)(例如基于触发器。)

这是我的ListBox。                   

由于某种原因,ListBox没有收到任何数据。

我无法将CollectionViewSource绑定到父DataTemplate或UseControl,因为我已经有另一个List绑定在该级别。

我可以在ResourceDictionary中创建一个CollectionViewSource,然后从我的主窗口引用ResourceDictionary,以允许StaticResource访问CollectionViewSource吗?

0 个答案:

没有答案