2013-04-23 99 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

备注

一个绑定成功返回一个值:

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 2013-04-24 07:12:43