清除/擦除带有按钮单击事件的文本框内容

本文关键字:文本 事件 单击 擦除 按钮 清除 | 更新日期: 2023-09-27 18:31:28

>我有以下 XAML 代码段:

<TextBox x:Name="FilterTB" TextChanged="FilterTB_TextChanged"/>
<Button x:Name="CancelFilterSelectionButton" FontWeight="Bold" Content="X"/>

我想在用户按下按钮时擦除文本框的内容。

当然,从代码隐藏执行此操作是一项微不足道的任务,但我希望仅通过使用 XAML 来完成它,因此使用触发器。

我尝试在网上进行研究,但我要么找到了不正确的解决方案,要么找到了过于复杂的解决方案,所以我想听到一些干净紧凑的解决方案。

清除/擦除带有按钮单击事件的文本框内容

在这里我有一分钟的空闲时间,希望这有帮助,干杯。

命名空间;

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ei="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"

而且很容易。

<StackPanel Orientation="Horizontal" 
            HorizontalAlignment="Center" 
            VerticalAlignment="Center">
   <TextBox x:Name="ThatThangToClear" Width="250"/>
   <Button x:Name="ClearThatThang" Content="Clear That Thang" Margin="5,0">
         <i:Interaction.Triggers>
            <i:EventTrigger EventName="Click">
               <ei:ChangePropertyAction 
                   TargetName="ThatThangToClear" 
                   TargetObject="{Binding ElementName=ThatThangToClear}"
                   PropertyName="Text" Value="{x:Null}"/>
            </i:EventTrigger>
        </i:Interaction.Triggers>           
   </Button>
</StackPanel>

哦,还有附言 - 你真的只需要TargetNameTargetObject,但我为了示例而包括了两者。