I bind ObservableCollection to ListView and I get {NewItemPlaceholder} line at the end. How can I hide or remove that line?
Just set an ItemTemplate in the XAML for the ListView (in my example a TreeView, where the same failure happens), and bind it to a filter converter. This could look like this:
Now you have to add a Filter-Converter-Class like this:
class IgnoreNewItemPlaceholderConverter : IValueConverter {
public static readonly IgnoreNewItemPlaceholderConverter Instance = new IgnoreNewItemPlaceholderConverter();
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
if (value != null && value.ToString() == "{NewItemPlaceholder}")
return DependencyProperty.UnsetValue;
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
throw new NotImplementedException();
}
}
And don't forget to map this Filterclass a static resource in your XAML with something like this:
This is caused by a DataGrid beeing bound to the same datasource, that is not "IsReadOnly=True" (writable). If this still fits your requirements, you can also try to make the DataGrid readonly or to bind to a different datasource.