使用ItemsControl中的逗号分隔项目

时间:2017-09-19 08:03:49

标签: wpf xaml

我尝试在ItemsControl中的每个元素后添加逗号。在这篇SO帖子之后 Make a WPF ListBox comma separate values ...我已经创建了一个转换器并尝试在XAML代码中使用它,但我做错了什么并且不知道是什么。 包含TextBlock的{​​{1}}应该使用转换器来控制自己的Text=","

Visibility

1 个答案:

答案 0 :(得分:1)

试试这个:

<TextBlock Text="," FontSize="12" Margin="0 -2 6 -2"
                     Visibility="{Binding RelativeSource={RelativeSource 
                     Mode=FindAncestor, 
                     AncestorType=ContentPresenter},
                     Converter={StaticResource IsLastItemInContainerConverter}}"/>
public class IsLastItemInContainerConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        FrameworkElement item = (FrameworkElement)value;
        ItemsControl ic = ItemsControl.ItemsControlFromItemContainer(item);

        return ic.Items.IndexOf(item.DataContext) == ic.Items.Count - 1 ? Visibility.Collapsed : Visibility.Visible;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}