IsEnabled False如果Binding.Source不可用

pap*_*zzo 6 data-binding wpf xaml isenabled

如果绑定值为false或null,请使用我想要禁用的按钮.这是我试过的.

<Button Content="Open" IsEnabled="{Binding SearchItem.WFBatchFolderStatus.UserCanOpen, Mode=OneWay, TargetNullValue=false, Converter={StaticResource booleanPassThru}}" />  
Run Code Online (Sandbox Code Playgroud)

我有一个案例,其中SearchItem.WFBatchFolderStatus可以为null(并且出于有效的商业原因).如果SearchItem.WFBatchFolderStatus为null,那么我想要禁用该按钮.当SearchItem.WFBatchFolderStatus为null时,转换器不会触发.如果SearchItem.WFBatchFolderStatus不为null,则转换器将触发.如果值为null,则转换器仅返回false,否则返回值.但转换器永远不会看到空值.当SearchItem.WFBatchFolderStatus为null时,按钮IS启用(不是我想要的).如果我删除了TargetValue和/或Converter,那么当SearchItem.WFBatchFolderStatus为null时,仍然会启用按钮.

H.B*_*.B. 7

如果路径的一部分为null,则绑定失败,将其设置Binding.FallbackValue为false,如果WFBatchFolderStatus为null ,则应禁用绑定.