Wpf 如果绑定。源不可用,则IsEnabled False
如果绑定值为false或null,我希望禁用一个按钮。这是我试过的Wpf 如果绑定。源不可用,则IsEnabled False,wpf,xaml,data-binding,isenabled,Wpf,Xaml,Data Binding,Isenabled,如果绑定值为false或null,我希望禁用一个按钮。这是我试过的 <Button Content="Open" IsEnabled="{Binding SearchItem.WFBatchFolderStatus.UserCanOpen, Mode=OneWay, TargetNullValue=false, Converter={StaticResource booleanPassThru}}" /> 我有一个案例,其中SearchItem.WFBatchFolderS
<Button Content="Open" IsEnabled="{Binding SearchItem.WFBatchFolderStatus.UserCanOpen, Mode=OneWay, TargetNullValue=false, Converter={StaticResource booleanPassThru}}" />
我有一个案例,其中SearchItem.WFBatchFolderStatus可以为null(并且出于有效的业务原因)。如果SearchItem.WFBatchFolderStatus为null,则我希望禁用该按钮。当SearchItem.WFBatchFolderStatus为空时,转换器不会启动。如果SearchItem.WFBatchFolderStatus不为null,则转换器将触发。如果值为null,则转换器仅返回false,否则返回值。但转换器从未看到空值。当SearchItem.WFBatchFolderStatus为空时,按钮被启用(不是我想要的)。如果删除TargetValue和/或转换器,则当SearchItem.WFBatchFolderStatus为null时,按钮仍处于启用状态。如果路径的一部分为null,则绑定失败,将设置为false,如果
WFBatchFolderStatus
为null,则应禁用该按钮。改用样式如何
<Page.Resources>
<Style x:Key="SomeStyle" TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding SearchItem.WFBatchFolderStatus.UserCanOpen}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Page.Resources>
<Grid>
<Button Content="Open" Style="{StaticResource SomeStyle}" />
</Grid>