我试图实现以下目标
<controls:Carousel.ItemTemplate>
<DataTemplate>
<Image Width="200"
Height="200"
VerticalAlignment="Center"
Source="/Assets/DemoImages/123_DemoImage.jpg"
Stretch="Uniform" />
</DataTemplate>
</controls:Carousel.ItemTemplate>
鉴于
的itemsource<controls:Carousel x:Name="CarouselControl" ItemsSource="{x:Bind PropertySearchList}"
和PropertySearchList是
List<ToLetProperty> PropertySearchList
ToLetProperty类具有FrontImage(和其他属性)的字符串属性
例如:
Source="/Assets/DemoImages/{ToLetProperty.FrontImage}"
答案 0 :(得分:2)
当我们对数据模板使用{x:Bind}
时,我们必须通过设置x:DataType
值来指明绑定的类型。我们可以为它设置基类类型。
在Image
控件中,我们可以使用FrontImage
将x:Bind
属性设置为来源。
例如:
<controls:Carousel x:Name="CarouselControl" ItemsSource="{x:Bind PropertySearchList}" >
<controls:Carousel.ItemTemplate>
<DataTemplate x:DataType="local:ToLetProperty">
<Image Width="200" Height="200" VerticalAlignment="Center" Source="{x:Bind FrontImage}" Stretch="Uniform" />
</DataTemplate>
</controls:Carousel.ItemTemplate>
</controls:Carousel>
顺便说一句,我建议您使用ObservableCollection
代替List
。它表示动态数据集合,在添加,删除项目或刷新整个列表时提供通知。