这一晚上问这问那的,终于知道怎么在TextBox的模板中做一个可以清空元素的模板绑定控件了
```xaml
<Style x:Key="DefaultTextBox" TargetType="TextBox">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="MinHeight" Value="20" />
<Setter Property="FontSize" Value="13" />
<Setter Property="Foreground" Value="{DynamicResource DefaultTextColor}" />
<Setter Property="Margin" Value="10,5" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="CaretBrush" Value="Black" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Border Background="{TemplateBinding Background}" />
<DockPanel LastChildFill="False">
<ContentPresenter
Height="15"
Margin="3,2"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{TemplateBinding Text}" />
<Button
x:Name="Btn"
Width="15"
Height="15"
Content="{md:PackIcon Kind=Close}"
DockPanel.Dock="Right"
Style="{StaticResource FuncBtn}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:ChangePropertyAction
TargetObject="{Binding RelativeSource={RelativeSource TemplatedParent}}"
PropertyName="Text"
Value="{x:Null}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</DockPanel>
<Border
x:Name="Back"
BorderBrush="{DynamicResource DefaultForeGround}"
BorderThickness="0,0,0,1" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="{DynamicResource DarkerBackGround}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
```
感谢StackOverflow!!!
链接:c# - Clear / Erase TextBox Content With Button Click Event - Stack Overflow