这是非常罕见的,我曾经直接使用TextChanged事件??,但从来不说从来没有!
最近,我需要和一些奇怪的原因,它向每按下键两次。这里是一个简化的例子的问题。我添加了一个简单的TextBlock和TextBox。
,然后连接从XAML的TextChanged事件处理程序。事件处理程序只是递增计数器,并打印在屏幕上。{C}
运行它,我键入每一个字母,它增加两倍(听起来很怪异,但尝试)。
搜索了一下后,我发现了一模一样的问题)。原来,问题是如何在TextBox风格的地铁FY,在这里是一个原始模板的简化版本???<Style x:Key="SimplefiedTextBoxStyle" TargetType="TextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Grid Background="Transparent">
<Border x:Name="EnabledBorder">
<ContentControl x:Name="ContentElement" />
</Border>
<Border x:Name="DisabledOrReadonlyBorder"
Visibility="Collapsed">
<TextBox x:Name="DisabledOrReadonlyContent"
Text="{TemplateBinding Text}" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
请注意,第二个TextBox,如果你删除它??事件只触发一次(但你有没有差异时,禁用/只读)。