在一般情況下,如果風格不可用作控件的屬性,那麼你會發現它在控制模板某處埋藏(克里斯W¯¯暗示的意見)。
要查看像Telerik's之類的專有控件模板的源代碼,請打開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>
你必須挖掘到控制模板,並找到爲該控件的'VisualStateManager'中的無效狀態設置爲可見的邊框。 –