设置触发器以根据文本框中内容的存在启用按钮

Setting trigger to enable button based on presence of content in a text box

在我的 WPF 应用程序中,有一个文本框显示用户设置的路径。我在该文本框旁边有一个按钮,以便在单击时清除文本框。虽然此功能工作正常,但我正在尝试添加一种样式,该样式将默认禁用删除按钮,但如果文本框包含值,则启用该按钮。

我完全不明白我可以在数据触发器中使用什么来区分文本框及其值。这是我尝试过的方法,默认情况下,删除按钮设置为禁用。

<TextBox x:Name="Path" 
                            Width="250"
                            Text="{Binding Path=SelectedPath, UpdateSourceTrigger=PropertyChanged, NotifyOnValidationError=True, ValidatesOnDataErrors=True}" 

                            FontStyle="Italic"
                            TextWrapping="NoWrap"
                            VerticalAlignment="Center"
                            Margin="0,0,4,4"
                            IsReadOnly="True"/>

<GeometryButton
                    Command="{Binding RemovePath}"
                    Geometry="{StaticResource {x:Static FolderDeleteIcon}}"
                    Width="30"
                    Height="30"
                    Style="{StaticResource DeleteButton}"
                    />

这是我在删除图标中使用的样式

<Style x:Key="DeleteButton" TargetType="GeometryButton">
                <Setter Property="IsEnabled" Value="False" />
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=SelectedPath}" Value="0">
                        <Setter Property="IsEnabled" Value="False" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>

非常感谢对此的一些帮助

如果 SelectedPathnullSelectedPath.Length == 0,您可以禁用 Button:

<Style x:Key="DeleteButton" TargetType="dc:GeometryButton">
    <Setter Property="IsEnabled" Value="True" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=SelectedPath}" Value="{x:Null}">
            <Setter Property="IsEnabled" Value="False" />
        </DataTrigger>
        <DataTrigger Binding="{Binding Path=SelectedPath.Length}" Value="0">
            <Setter Property="IsEnabled" Value="False" />
        </DataTrigger>
    </Style.Triggers>
</Style>