У меня есть 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();
}
}
Я бы выбрал valueconverter, возвращающий UnsetValue, если связанное значение равно null.
PriorityBindings более полезны, если вы хотите разделить шаблон данных между различными типами объектов.