我有下一个代码:
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
<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>