Как я могу сделать сбой PriorityBinding, если возвращенное значение является Нулевым?

У меня есть PriorityBinding


    
    

Я хотел бы сделать его поэтому, если Foo будет пустым, то это будет использовать Панель и если оба будут пустыми, то это будет использовать FallbackValue. Однако пустой указатель является допустимым значением для этого свойства, потому что это только ожидает объект.

Там какой-либо путь состоит в том, чтобы заставить PriorityBinding совершенствоваться к следующей привязке, когда значение является нулевым? Я предпочел бы делать это в XAML, но если я не могу я просто делать преобразователь для него.

Править

Я закончил тем просто, что писал преобразователь для него

public class NullToDependencyPropertyUnsetConverter 
    : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return value ?? DependencyProperty.UnsetValue;
    }

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

7
задан Mike Fuchs 3 May 2013 в 13:32
поделиться

1 ответ

Я бы выбрал valueconverter, возвращающий UnsetValue, если связанное значение равно null.

PriorityBindings более полезны, если вы хотите разделить шаблон данных между различными типами объектов.

5
ответ дан 7 December 2019 в 12:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: