使用按钮单击事件清除/擦除文本框内容

Sav*_*ano 1 .net c# wpf xaml triggers

我有以下 XAML 片段:

<TextBox x:Name="FilterTB" TextChanged="FilterTB_TextChanged"/>
<Button x:Name="CancelFilterSelectionButton" FontWeight="Bold" Content="X"/>
Run Code Online (Sandbox Code Playgroud)

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

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

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

Chr*_* W. 5

在这里我有空闲时间,希望这对您有所帮助,干杯。

命名空间;

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ei="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"
Run Code Online (Sandbox Code Playgroud)

和简单的豌豆。

<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>
Run Code Online (Sandbox Code Playgroud)

哦,还有 PS - 你真的只需要TargetNameOR之一TargetObject,但为了示例,我将两者都包含在内。