Краткий ответ на вопрос по теме: нет.
Разумный ответ: убедитесь, что Count
вам нужно сделать доступным свойство модели данных. Например, убедитесь, что тип, представленный StepDatas
, имеет свойство Count
.
Однако вы квалифицируете это как «любым возможным способом?». Можно привязаться к контексту данных ListItem и использовать какое-то безумие конвертера значений для выполнения вашей лямбды. Однако для простоты вам нужно создать конвертер специально для вашей лямбды.
Вот как будет выглядеть код конвертера: -
public class CountCompletedStepDatas : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
YourItemsType item = (YourItemsType)value;
return item.StepDatas.Were(x => x.Completed == true).Count().ToString(culture);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Вы бы сделали экземпляр этого конвертера доступным в свойстве Resources в XAML, скажем для удобства в UserControl: -
<UserControl x:Class="YourNameSpace.ThisControlName"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:YourNameSpace;assembly=YourAssemblyName">
<UserControl.Resources>
<local:CountCompletedStepDatas x:Key="Counter" />
</UserContro.Resources>
Теперь в вашем переплете: -
<TextBlock Text="{Binding Converter={StaticResource Counter} }" ... >