wpf - 避免输出窗口中的绑定(bind)错误

标签 wpf binding

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

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

有没有办法在使用后备值时不出现这些错误?我的意思是,这就是它的目的,不是吗?为什么它仍然显示错误?

这是绑定(bind):

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

嗯嗯,谢谢!

最佳答案

有了这个

<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,我会得到一个黄色矩形。并且没有绑定(bind)错误。

关于wpf - 避免输出窗口中的绑定(bind)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9540826/

相关文章:

c# - 单击一次静默更新检查应用程序更新始终检查

c# - 光标聚焦在 WPF/C# 中的文本框

c# - 在 Canvas 上选择已绑定(bind)的路径

c# - Caliburn.Micro - 是否可以验证基于约定的绑定(bind)的异常?

WPF Listview 行背景闪烁效果

c# - 如何在 Blazor 中绑定(bind)单选按钮?

actionscript-3 - ActionScript 绑定(bind)数组对象?

c# - 将项目添加到 ListCollectionView 时抛出异常

c# - 如何在启动时使用中继命令以及如果我要传递的方法位于另一个类中,我该如何执行

JavaFX - 将 ObjectProperty 绑定(bind)到另一个 ObjectProperty 内的成员?