Telerik的边框厚度';s内容无效时Silverlight中的RadMaskedInputBaseStyle

本文关键字:无效 Silverlight RadMaskedInputBaseStyle 中的 边框 Telerik | 更新日期: 2024-09-22 05:22:07

只有当RadMaskedInputBaseStyle(或Telerik的RadMaskeDateTimeInput)为红色表示输入包含无效条目时,我才能在Silverlight中增加它的边框厚度。我的XAML看起来像这个

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

Telerik的边框厚度';s内容无效时Silverlight中的RadMaskedInputBaseStyle

通常,如果某个样式不能作为控件的属性,那么您会发现它隐藏在控件模板中的某个位置(正如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>