我的MainViewModel
中有一个引用,它在运行时可以为空。在这种情况下,我希望一个按钮 (WPF( 禁用自身,如果该引用不再为 null,它应该启用自身。我想使用数据绑定解决该任务,但我不确定如何执行空检查数据绑定。我的按钮:
<Button x:Name="SomeButton" IsEnabled="{Binding Path=NullableProperty , Mode=OneWay}" />
您可以使用DataTrigger执行此操作:
例:
<Button Content="Click">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding CanContainNull}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
和视图模型属性:
public string CanContainNull
{
get
{
return _canContainNull;
}
set
{
_canContainNull = value;
RaisePropertyChanged();
}
}
刚刚注意到您可以将数据绑定TargetNullValue
设置为false
,这实际上可以执行所有操作。