在我的Metadata
课程中,有一个课程Person
,其中包含以下属性:
Public Property Name As String
在我的实体模型中,此属性的Nullable
设置为False
。我将新Name
的{{1}}绑定到我的Silverlight应用上的Person
。如果为空白,则框的边框变为红色,并显示错误消息,说明“名称字段是必需的”。
我希望边框变红,但我不希望错误信息悬停。我该如何实现?
我尝试了
的属性 TextBox
但消息仍然显示。
答案 0 :(得分:0)
如果验证状态显示在正确的时间,但您不想显示验证消息,则必须修改文本框的控件模板。
默认情况下,TextBox控件模板有一个名为ValidationErrorElement的边框。该边框有一个显示错误消息的工具提示。您只需要删除工具提示。
<ControlTemplate TargetType="TextBox" x:Name="customTextBox">
<Grid x:Name="RootElement">
<VisualStateManager.VisualStateGroups>
...
</VisualStateManager.VisualStateGroups>
...
<Border x:Name="ValidationErrorElement" BorderThickness="1" CornerRadius="1" BorderBrush="#FFDB000C" Visibility="Collapsed">
<!-- Remove the tooltip here -->
<!--
<ToolTipService.ToolTip>
<ToolTip x:Name="validationTooltip" ...
</ToolTip>
</ToolTipService.ToolTip>
-->
<Grid Width="12" Height="12" HorizontalAlignment="Right" Margin="1,-4,-4,0" VerticalAlignment="Top" Background="Transparent">
<Path Margin="1,3,0,0" Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z" Fill="#FFDC000C"/>
<Path Margin="1,3,0,0" Data="M 0,0 L2,0 L 8,6 L8,8" Fill="#ffffff"/>
</Grid>
</Border>
</Grid>
</ControlTemplate>
然后将模板应用于TextBox
<TextBox Template="{StaticResource customTextBox}" ... />