2013-04-23 2 views
1

У меня есть простая сетка, в которой я привязываю высоту строки к элементу массива. Но содержимое может быть очищено в случае неправильных записей пользователя, что индекс массива становится недействительным. Поэтому я устанавливаю значение FallbackValue на значение по умолчанию. Но это, похоже, не работает. В привязке я использую конвертер, который преобразует нестандартный тип в требуемый Double. Но это не должно быть источником проблемы.wpf При привязке к индексу массива fallbackvalue не работает

<RowDefinition Name="Row1" Height="{Binding Path=item[0].value, Converter={conv:ItemValueToRowHeight}, FallbackValue=20}"/> 

Выход отладки показывает мне, что система привязки WPF все еще хочет, элемент массива, даже если нет элементов:

System.Windows.Data Warning: 17 : Cannot get 'Item[]' value ... 

Любые идеи?

ответ

0

Замечания

A обязывающих возвращает значение успешно, если:

The path to the binding source resolves successfully. 

The value converter, if any, is able to convert the resulting value. 

The resulting value is valid for the binding target (target) property. 

http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.fallbackvalue.aspx

сделать ваш конвертер возвращение DependencyProperty.UnsetValue

+0

Хорошо, но, к сожалению, конвертер не дозвонились в случае недопустимого индекса. – deafjeff