我打破了文本框
本文关键字:文本 | 更新日期: 2023-09-27 18:36:46
我正在制作一个 wpf 表单(几天前从 winform 移动),我想自定义我的文本框。我让文本框按照我想要的方式运行,但现在我无法给它输入,当我单击它时它根本没有响应。我想我打破了它,无论如何这是我的代码:
<TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="10,48,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="120" Foreground="White">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="BorderBrush" Value="#FF497AB4"/>
<Setter Property="Background" Value="#FF2E2E2E"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="OrangeRed"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
那么我做错了什么?谢谢!
尝试将滚动查看器添加到模板中,如下所示:
<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
</Border>
这里有一些示例模板
问题是模板没有内容主机,因此它不会呈现内容。要添加内容主机,您应该添加一个名为"PART_ContentHost"的元素,如此处所述