WPF IEnumerable < T > против IQueryable < T > как источник данных
-
22-07-2019 - |
Вопрос
У меня есть WPF ListView , и я связываю его с коллекцией IEnumerable < T >
.
Все работает нормально, но когда я связываю его с коллекцией IQueryable < T >
, в списке больше нет элементов ... Почему? Это не наблюдаемый или что?
Когда я смотрю на определение:
public interface IQueryable<T> : IEnumerable<T>, IQueryable, IEnumerable
и
public interface IEnumerable<T> : IEnumerable
Так в чем же проблема?
Решение
Должно работать, как вы правильно заметили, эти типы совместимы. Включите отладку в вашей привязке и попробуйте. Может быть, вывод будет ключом. Это скорее всего что-то еще, кроме типа, к которому вы привязываетесь.
В любом случае, вот код. Вставьте это и посмотрите окно вывода, когда ваш вид загружается. Если это для вас греческий язык, просто отредактируйте свое сообщение с выводом из окна вывода.
<Window …
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
/>
<TextBlock Text="{Binding Path=Caption, diagnostics:PresentationTraceSources.TraceLevel=High}" … />
Не связан с StackOverflow