How can I define a common Style for the TextBox and the PasswordBox?
My approach, I have define a Style for the TargetType FrameworkElement but this doesnt work as common style, then few propertys doesnt exist on the FrameworkElement.
My TextBox Style is equals the PasswordBoxStyle
<Style TargetType="{x:Type TextBox}">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="MinHeight" Value="30"/>
<Setter Property="AllowDrop" Value="true"/>
<Setter Property="FontFamily" Value="Verdana"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Border Name="Border" CornerRadius="4" Padding="2" Background="White" BorderBrush="Black" BorderThickness="1" >
<ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Try something like this
<Style x:Key="textboxPasswordboxStyles">
<Setter Property="Control.ControlProperty" Value="value" />
<Setter Property="TextBox.TextboxSpecproperty" Value="value" />
<Setter Property="PasswordBox.PasswordBoxSpecProperty" Value="value" />
</Style>
<Style TargetType="{x:Type TextBox}"
BasedOn="{StaticResource textboxPasswordboxStyles}">
</Style>
<Style TargetType="{x:Type PasswordBox}"
BasedOn="{StaticResource textboxPasswordboxStyles}">
</Style>
<Style x:Key="textboxPasswordboxStyles" TargetType="Control">
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="KeyboardNavigation.TabNavigation" Value="None" />
<Setter Property="Height" Value="20" />
<Setter Property="MinHeight" Value="20" />
<Setter Property="MaxHeight" Value="22"/>
<Setter Property="BorderThickness" Value="1.5"/>
<Setter Property="AllowDrop" Value="true" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Control}">
<Grid>
<Border Name="Border" CornerRadius="8" BorderThickness="{TemplateBinding BorderThickness}" >
<Border.Background>
<SolidColorBrush Color="White" x:Name="Background" />
</Border.Background>
<Border.BorderBrush>
<SolidColorBrush Color="Gray" x:Name="BorderBrush" Opacity="1"/>
</Border.BorderBrush>
<ScrollViewer Margin="10,0,10,0" x:Name="PART_ContentHost" VerticalAlignment="Center"/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="TextBox"
BasedOn="{StaticResource textboxPasswordboxStyles}">
</Style>
<Style TargetType="PasswordBox"
BasedOn="{StaticResource textboxPasswordboxStyles}">
</Style>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With