Не получается сделать x:Bind для DataTemplate
<models:EffectModel x:Name="EffectModel" x:Key="EffectModel"/>
...
<ListView.ItemTemplate>
<DataTemplate x:DataType="{StaticResource EffectModel}">
<TextBlock
Text="{x:Bind Title}"/>
</DataTemplate>
</ListView.ItemTemplate>
Title это public string свойство.
Постоянно пишет на Title, что его нет в контексте MainPage. Почему он не обращается к EffectModel
public class EffectModel
{
public string Title { get; set; }
public Uri FrameImage { get; set; }
}
UPD
<DataTemplate x:DataType="models:EffectModel">
<Border
Width="400"
Height="240">
<Border.Background>
<ImageBrush
Stretch="Fill"
ImageSource="{x:Bind FrameImage}"/>
</Border.Background>
</Border>
</DataTemplate>
В случае x:Bind на свойство типа string в DataTempate, как подсказал пользователь VladD, необходимо указать x:DataType="model: Ваша модель в которой лежит свойство"
В случае с x:Bind картинки со страницы на свойство типа Uri необходим еще и конвертер.
Код конвертера:
public sealed class ImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,string culture)
{
if (value is string)
return new BitmapImage(new Uri((string)value, UriKind.RelativeOrAbsolute));
if (value is Uri)
return new BitmapImage((Uri)value);
throw new NotSupportedException();
}
public object ConvertBack(object value, Type targetType, object parameter, string culture)
{
throw new NotSupportedException();
}
}
На Xaml выглядеть будет следующим образом:
ImageSource="{x:Bind FrameImage, Converter={StaticResource ImageConverter}}"/>
ImageConvertor объявлен в App.xaml
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники