使用转换器绑定到字符串集合
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>
我有下一个密码:
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>