每当我尝试将样式应用于文本框时,它都会对用户输入无响应.你能告诉我一个解决这个问题的方法吗?这是我使用的xaml代码:
<Style x:Key="textbox"
TargetType="TextBox">
<Setter Property="OverridesDefaultStyle"
Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Border BorderThickness="3"
Background="{TemplateBinding Background}"
Name="border">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter TargetName="border"
Property="BorderBrush"
Value="#9E5971" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
更换
<ContentPresenter
HorizontalAlignment="Center" VerticalAlignment="Center" />
Run Code Online (Sandbox Code Playgroud)
同
<ScrollViewer
x:Name="PART_ContentHost"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
Run Code Online (Sandbox Code Playgroud)
ScrollViewernamed PART_ContentHost是任何TextBox控件模板的必需部分.您应该使用默认WPF控件样式和模板作为参考,而不是使用您自己的模板.