数据绑定XAML中字符串的一部分

时间:2017-08-01 16:05:02

标签: c# wpf xaml uwp

我试图实现以下目标

<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}"

1 个答案:

答案 0 :(得分:2)

当我们对数据模板使用{x:Bind}时,我们必须通过设置x:DataType值来指明绑定的类型。我们可以为它设置基类类型。

Image控件中,我们可以使用FrontImagex: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。它表示动态数据集合,在添加,删除项目或刷新整个列表时提供通知。