避免输出窗口中的绑定错误

时间:2012-03-02 21:47:51

标签: wpf binding

我们通常能够清除所有这些绑定错误,但是有一个我们无法解决的特别偷偷摸摸的错误(基本上我们将对象设置为null,并且该对象是Rectangle.Fill属性的DataContext),所以我们认为设置FallBackValue会让它消失,但我们仍然会遇到绑定错误:

System.Windows.Data Error: 6 : 'TargetDefaultValueConverter' converter failed to convert value '' (type 'String'); fallback value will be used, if available.

使用回退值时,是否有办法不会出现这些错误?我的意思是,这就是它的用途不是吗?为什么它仍然会显示错误?

这是绑定:

<Rectangle x:Name="rectangle" Fill="{Binding Mode=OneTime, TargetNullValue={StaticResource someBrush}}" Height="23" Margin="0,1.5,0,1.5" Width="100" />

Lmk,谢谢!

1 个答案:

答案 0 :(得分:2)

有了这个

<Grid>
    <Grid.Resources>
        <SolidColorBrush Color="Red" x:Key="Fallback"/>
        <SolidColorBrush Color="Blue" x:Key="Null"/>
    </Grid.Resources>

    <Rectangle Fill="{Binding Mode=OneTime, TargetNullValue={StaticResource Null}, FallbackValue={StaticResource Fallback}}"/>
</Grid>

如果我设置DataContext = null,我得到一个蓝色矩形, 如果我设置DataContext = Brushes.Yellow,我得到一个黄色矩形。并且没有绑定错误。