C# 根据文本框中的内容设置触发器以启用按钮
在我的WPF应用程序中,我有一个部分,其中有一个文本框,显示用户设置的路径。我在文本框旁边有一个按钮,以便在单击时清除文本框。虽然这个功能运行良好,但我正在尝试添加一个样式,默认情况下,该样式将保持“删除”按钮处于禁用状态,但如果文本框包含值,则该样式将处于启用状态 我完全不明白我可以在数据触发器中使用什么来区分文本框及其值。这是我尝试过的,在这个实现中,删除按钮默认设置为禁用C# 根据文本框中的内容设置触发器以启用按钮,c#,wpf,xaml,isenabled,C#,Wpf,Xaml,Isenabled,在我的WPF应用程序中,我有一个部分,其中有一个文本框,显示用户设置的路径。我在文本框旁边有一个按钮,以便在单击时清除文本框。虽然这个功能运行良好,但我正在尝试添加一个样式,默认情况下,该样式将保持“删除”按钮处于禁用状态,但如果文本框包含值,则该样式将处于启用状态 我完全不明白我可以在数据触发器中使用什么来区分文本框及其值。这是我尝试过的,在这个实现中,删除按钮默认设置为禁用 <TextBox x:Name="Path" Widt
<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>
如果
SelectedPath
为null
或SelectedPath.Length==0,您可以禁用按钮
:
<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>