Можете ли вы использовать предложение Where в привязке WPF — XAML?

#wpf #binding

#wpf #привязка

Вопрос:

Я хочу привязать источник изображения к элементу списка, но мне нужна привязка для выбора изображения из списка на основе аргумента — выберите изображение из списка на основе логического значения в списке.

например

Список изображений содержит несколько полей:

Изображения.Изображения Src.IsMainImage (True / False)

и т.д.

Я хочу, чтобы моя привязка выбирала изображение из списка на основе IsMainImage = True .

Возможно ли это или я могу сделать это только с помощью конвертера?

Я надеялся, что будет какой-то способ использовать LINQ в привязке или что-то в этом роде.

Ответ №1:

Все, что вы можете сделать, это использовать конвертер или скрыть элементы, загруженные в ItemsControl, с помощью триггера (это означает, что они присутствуют в ItemsControl, но не видны) — это не должно иметь большого значения, если элементов не слишком много.

Возможно, было бы возможно написать пользовательский класс привязки, который принимал бы выражение LINQ в строковой форме, компилировал его и использовал для обработки связанной коллекции, но это было бы колоссальным излишеством. И потенциально может привести к неправильным методам программирования (кодирование большего количества бизнес-логики в XAML).