WPF вопрос по стилям в Custom Control Library
Предположим есть библиотека custom control library В ней описан базовый стиль для элементов, предположим следующего рода
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ControlLib">
<Style x:Key="{x:Type FrameworkElement}" TargetType="{x:Type FrameworkElement}">
<Setter Property="Margin" Value="20"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<Style x:Key="{x:Type TextBox}" BasedOn="{StaticResource {x:Type FrameworkElement}}" TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="Beige"/>
</Style>
И предположим есть шаблон контрола следующего вида
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ControlLib">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/ControlLib;component/BaseStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="{x:Type local:TestControl}" x:Key="{x:Type local:TestControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:TestControl}">
<Border BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox Grid.Column="1"/>
<TextBox Grid.Row="1"
Grid.Column="1"/>
<TextBlock Text="Строка1"/>
<TextBlock Grid.Row="1"
Text="Строка2"/>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Так вот вопрос можно ли как-то применить стиль для TexBox автоматом или надо стиль для TextBox указывать явно:
<Style x:Key="TextBoxBaseStyle" BasedOn="{StaticResource {x:Type FrameworkElement}}" TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="Beige"/>
</Style>
и для TextBox писать
<TextBox Grid.Row="1"
Grid.Column="1"
Style="{StaticResource TextBoxBaseStyle}"/>