【发布时间】:2021-12-26 23:01:30
【问题描述】:
我正在为一个文本框设置一个模板 - 我在设置该框的样式时遇到了问题,希望能得到一些帮助。这是我目前所拥有的:
---
<Window.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBoxBase}">
<Border x:Name="Border">
<ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Border">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Black" CornerRadius="0">
<Border.Background>
<RadialGradientBrush GradientOrigin="0.225,-0.616" RadiusY="0.863" RadiusX="0.757">
<GradientStop Color="#EEFFFFFF"/>
<GradientStop Color="#00FFFFFF" Offset="0.696"/>
</RadialGradientBrush>
</Border.Background>
</Border>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="True">
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="False">
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
---
当我尝试编译它时,我收到一条消息:
Severity Code Description Project File Line Suppression State
Error MC3000 'The 'Setter' start tag on line 22 position 34 does not match the end tag of 'Trigger'. Line 35, position 31.' XML is not valid.
有人知道我在这里错过了什么或做错了什么吗?我认为我已经正确地关闭了所有的行。
【问题讨论】:
-
我自己没有得到任何编译错误,你确定你已经发布了负责的实际代码吗?如果是这样,请尝试清理/重新启动/重建。
-
首先,我还在学习 XAML,所以请多多包涵……但是您是否尝试过实际使用上面的代码,然后在表单中添加一个文本框以查看它的作用?我刚刚尝试了有关新项目的建议 - 将 Windows.Resources 放入,然后添加一个文本框,它会生成错误消息 ArgumentException: Must have non-null value for 'Setter.Property'。
-
我的错,请看下面的答案。
标签: wpf templates textbox styles