使用按钮单击事件清除/擦除TextBox内容

时间:2014-11-22 18:46:55

标签: c# .net wpf xaml triggers

我有以下XAML代码段:

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

当用户按下按钮时,我想删除TextBox的内容。

当然,从Code Behind这样做是一项微不足道的任务,但我只想通过使用XAML来完成它,所以使用触发器。

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

1 个答案:

答案 0 :(得分:4)

在这里,我有一个空闲时间,希望这会有所帮助,欢呼。

命名空间;

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>

哦,还有P.S. - 你真的只需要TargetNameTargetObject,但为了这个例子,我将两者都包括在内。