使用转换器绑定到字符串的集合



我有下一个代码:

class MyViewModel 
{
    public List<string> Items {get;set;}
}

和 XAML

<ItemsControl ItemsSource="{Binding Items}">
  <ItemTemplate>
     <TextBlock Text="{Binding}" />
 </ItemTemplate>

它工作得很好。现在我需要添加一些转换:

 <ItemsControl ItemsSource="{Binding Items}">
  <ItemTemplate>
     <TextBlock Text="{Binding, Converter={StaticResource WorldBestConverter}}" />
 </ItemTemplate>   

而且它不起作用。我可以将 Items 属性更改为 List其中 SomeObj 是类包含的属性 value,然后以下列方式使用它:

<ItemsControl ItemsSource="{Binding Items}">
  <ItemTemplate>
     <TextBlock Text="{Binding Value, Converter={StaticResource WorldBestConverter}}" />
 </ItemTemplate>  

但我不想仅仅针对这种情况引入新课程。如何通过转换绑定到当前列表?

您可以添加 . 表示绑定。请参阅以下代码。

 <ItemsControl ItemsSource="{Binding Items}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding .,Converter={StaticResource myConv}}" />
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

最新更新