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

Bind to collection of string with converter

我有下一个密码:

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>,其中 SomeObj 是 class 包含 属性 值并在接下来的方式中使用它:

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

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

您可以添加。用于绑定。参考下面的代码。

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