WPF IEnumerable < T > vs IQueryable < T > en tant que DataSource
-
22-07-2019 - |
Question
J'ai un WPF ListView et je le lie à une collection IEnumerable < T >
.
Tout fonctionne bien, mais lorsque je le lie à la collection IQueryable < T >
, il n'y a plus d'éléments dans la liste. Pourquoi? N'est-ce pas observable ou quoi?
Quand je regarde la définition:
public interface IQueryable<T> : IEnumerable<T>, IQueryable, IEnumerable
et
public interface IEnumerable<T> : IEnumerable
alors où est le problème?
La solution
Cela devrait fonctionner, comme vous l’avez bien indiqué, ces types sont compatibles. Activez le débogage dans votre liaison et essayez-le. Peut-être que la sortie sera un indice. C’est probablement autre chose que le type auquel vous vous liez.
Quoi qu'il en soit, voici le code. Mettez ceci dans et regardez votre fenêtre de sortie quand votre vue se charge. Si vous êtes grec, modifiez simplement votre publication avec la sortie de votre fenêtre de sortie.
<Window …
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
/>
<TextBlock Text="{Binding Path=Caption, diagnostics:PresentationTraceSources.TraceLevel=High}" … />