内容无效时,Silverlight中的Telerik的RadMaskedInputBaseStyle的边框粗细

时间:2013-12-12 15:18:31

标签: c# silverlight xaml telerik

如何在Silverlight中增加RadMaskedInputBaseStyle(或Telerik的RadMaskedDateTimeInput)的边框粗细,当它为红色时表示输入包含无效条目。 我的XAML看起来像这样

<Style TargetType="telerik:RadMaskedDateTimeInput">
    <Setter Property="IsValidationHintVisible" Value="True" />
</Style>

1 个答案:

答案 0 :(得分:0)

通常,如果样式不可用作控件的属性,那么您会发现它隐藏在控件模板中的某个位置(正如Chris W在注释中所暗示的那样)。

要查看像Telerik之类的专有控件模板的源代码,请打开Expression Blend并在控件实例上单击“编辑模板”。如果对RadMaskedDateTimeInput执行此操作,您将注意到与验证相关的可视状态引用了名为“ErrorElement”的元素。向下滚动,在控件模板源中,您将看到声明如下:

<Telerik_Windows_Controls_Chromes:ValidationTooltip x:Name="ErrorElement" Opacity="0" TooltipPlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}" telerik:StyleManager.Theme="{StaticResource Theme6}" TooltipContent="{TemplateBinding DisplayErrorMessage}" TooltipContentTemplate="{TemplateBinding ErrorMessageTemplate}" />

好的,这是另一个名为ValidationTooltip的控件。此控件 已公开BorderThickness属性,因此,如果您愿意,您应该能够以目标全局样式简单地设置该属性。这样的东西应该放在资源字典中:

<Style xmlns:Telerik_Windows_Controls_Chromes="clr-namespace:Telerik.Windows.Controls.Chromes;assembly=Telerik.Windows.Controls"  
    TargetType="Telerik_Windows_Controls_Chromes:ValidationTooltip">
    <Setter Property="BorderThickness" Value="2" />
</Style>