【问题标题】:WPF Applying a trigger on binding failureWPF 在绑定失败时应用触发器
【发布时间】:2010-04-08 00:40:57
【问题描述】:

这个问题来自this one...

我绑定到一个异构的对象集合,并不是所有的对象都具有相同的属性集。我在数据网格中这样做。如果绑定失败,我想使单元格变灰。如果绑定失败,有没有办法应用触发器?

编辑:下面的答案适合我的目的,但我跟进了this question,因为我想知道如何去做(以非黑客方式 - 我确实喜欢黑客,但不要得到我错了)

【问题讨论】:

    标签: wpf data-binding triggers


    【解决方案1】:

    据我所知,您不能直接执行此操作。但是,如果您可以确定一个永远不会从成功绑定中返回的值,则可以创建一个 DataTrigger,其绑定将该值作为其 FallbackValue,并在该相同值上触发:

    <!-- Hibble returns only positive values -->
    <DataTrigger Binding="{Binding Hibble, FallbackValue=-1}" Value="-1">
      <Setter Property="Background" Value="Red" />
    </DataTrigger>
    

    理论上可能可以省略 FallbackValue 并在{x:Static DependencyProperty.UnsetValue} 上触发,这样会更简洁,但这在实践中似乎行不通。

    【讨论】:

    • 可爱的魔法数字编程,一定会喜欢它。想问一下关于触发未设置值的问题,看看社区想出了什么
    猜你喜欢
    • 2012-09-18
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    相关资源
    最近更新 更多