绑定项目本身在列表dataTemplate xaml

本文关键字:列表 dataTemplate xaml 项目 绑定 | 更新日期: 2023-09-27 17:51:18

我找不到正确的语法来直接绑定xaml中的列表项。

<Listview ItemsSource={Binding Items}>
    <Listview.ItemTemplate>
        <CustomUserControl Item={Binding} />
    </Listview.ItemTempalte>
</Listview>

这个代码工作得很好。但是当我想要添加一个转换器到绑定时,它显示了一个语法错误:

<Listview ItemsSource={Binding Items}>
    <Listview.ItemTemplate>
        <CustomUserControl Item={Binding ,Converter={StaticResource myConverter}} />
    </Listview.ItemTempalte>
</Listview>

有人知道怎么做吗?

谢谢!

绑定项目本身在列表dataTemplate xaml

那么答案就是

{Binding Converter={StaticResource myConverter}}

我认为你以错误的方式使用转换器。您可以尝试将转换器定义为静态资源。

            <converters:MyConverter x:Key="myConverter" />

和这样使用

<Listview ItemsSource={Binding Items}>
<Listview.ItemTemplate>
    <CustomUserControl Item="{Binding, Converter={StaticResource myConverter}" />
</Listview.ItemTempalte>

<Listview ItemsSource={Binding Items}>
<Listview.ItemTemplate>
    <CustomUserControl Item="{Binding RelativeSource={RelativeSource Self}, Converter={StaticResource myConverter}" />
</Listview.ItemTempalte>