2014-01-06 3 views
0

Мне нужно, чтобы элемент был проверен, используется ли он членом коллекции или нет.Связывание с CollectionViewSource возвращает DependencyProperty.UnsetValue

Когда я привязываю непосредственно к коллекции (привязка 2), она делает работу, но не через ее вид (привязка 3), она возвращает DependencyProperty.UnsetValue.

Почему это не работает?

<ListBox.ItemTemplate> 
    <DataTemplate DataType="system:String"> 
     <StackPanel Orientation="Horizontal"> 
      <CheckBox> 
       <CheckBox.IsChecked> 
        <MultiBinding Converter="{StaticResource AssetToBooleanConverter}" Mode="OneWay" > 
         <Binding /> 
         <Binding Path="Assets" Source="{StaticResource Singleton}" /> 
         <Binding Source="{StaticResource CvsAssets}" /> 
        </MultiBinding> 
       </CheckBox.IsChecked> 
      </CheckBox> 
      <TextBlock 
       Text="{Binding Converter={StaticResource PathToNameConverter}}" 
       ToolTip="{Binding Converter={StaticResource PathToSizeConverter}}" /> 
     </StackPanel> 
    </DataTemplate> 
</ListBox.ItemTemplate> 

Вот вид этой коллекции:

<CollectionViewSource x:Key="CvsAssets" 
         IsLiveSortingRequested="True" 
         Source="{Binding Source={StaticResource Singleton}, 
             Path=Assets}" 
         d:IsDataSource="True"> 
    <CollectionViewSource.GroupDescriptions> 
     <PropertyGroupDescription Converter="{StaticResource ObjectToTypeNameConverter}" /> 
    </CollectionViewSource.GroupDescriptions> 
    <CollectionViewSource.SortDescriptions> 
     <componentModel:SortDescription PropertyName="Name" /> 
    </CollectionViewSource.SortDescriptions> 
</CollectionViewSource> 

ответ

0

Я просто установил его, используя следующий синтаксис:

<Binding Source="{StaticResource CvsAssets}" Path="(CollectionView.SourceCollection)" /> 

(Debugger дал предупреждение о связывании и тип, который был ListCollectionView)

Смежные вопросы