我有以下XAML代码段:
<TextBox x:Name="FilterTB" TextChanged="FilterTB_TextChanged"/>
<Button x:Name="CancelFilterSelectionButton" FontWeight="Bold" Content="X"/>
当用户按下按钮时,我想删除TextBox的内容。
当然,从Code Behind这样做是一项微不足道的任务,但我只想通过使用XAML来完成它,所以使用触发器。
我尝试在网上进行研究,但我要么找到了不正确的解决方案,要么找到过于复杂的解决方案,所以我想听听一些简洁明了的解决方案。
答案 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. - 你真的只需要TargetName
或TargetObject
,但为了这个例子,我将两者都包括在内。