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