40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
|
|
namespace BeWo.Converter
|
|
{
|
|
/// <summary>
|
|
/// Erwartet: [0] = Item, [1] = ItemsControl, [2] = Items.Count (nur als Aktualisierungs-Trigger).
|
|
/// Liefert true, wenn das Item das letzte Element im ItemsControl ist.
|
|
/// </summary>
|
|
public class IsLastItemToBoolMultiConverter : IMultiValueConverter
|
|
{
|
|
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
try
|
|
{
|
|
if (values is null || values.Length < 2)
|
|
return false;
|
|
|
|
if (!(values[1] is ItemsControl itemsControl))
|
|
return false;
|
|
|
|
var items = itemsControl.Items;
|
|
|
|
return items.Count > 0 && ReferenceEquals(items[items.Count - 1], values[0]);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|