BaseStyle.xaml 4.94 KB
<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:system="clr-namespace:System;assembly=mscorlib">

    <!--  用以设置各样式的FontSize属性  -->
    <system:Double x:Key="sizeValue">16</system:Double>

    <!--<Style
        x:Key="BaseTextBoxStyle"
        BasedOn="{StaticResource {x:Type TextBox}}"
        TargetType="TextBox">
        <Setter Property="MinWidth" Value="80" />
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="True">
                <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}" />
            </Trigger>
        </Style.Triggers>
    </Style>-->
    <Style
        x:Key="BaseTextBlockStyle"
        BasedOn="{StaticResource {x:Type TextBlock}}"
        TargetType="TextBlock">
        <Setter Property="FontSize" Value="{StaticResource sizeValue}" />
    </Style>

    <Style
        x:Key="BaseButtonStyle"
        BasedOn="{StaticResource {x:Type Button}}"
        TargetType="Button">
        <Setter Property="FontSize" Value="{StaticResource sizeValue}" />
    </Style>

    <Style
        x:Key="BaseRadioButtonStyle"
        BasedOn="{StaticResource {x:Type RadioButton}}"
        TargetType="RadioButton">
        <Setter Property="FontSize" Value="{StaticResource sizeValue}" />
    </Style>

    <Style
        x:Key="BaseCheckBoxStyle"
        BasedOn="{StaticResource {x:Type CheckBox}}"
        TargetType="CheckBox">
        <Setter Property="FontSize" Value="{StaticResource sizeValue}" />
    </Style>

    <Style
        x:Key="BaseDataGridRowStyle"
        BasedOn="{StaticResource DataGridRowStyle}"
        TargetType="DataGridRow" />
    <!--<Style x:Key="BaseDataGridRowStyle" TargetType="DataGridRow" BasedOn="{StaticResource {x:Type DataGridRow}}"></Style>-->

    <Style
        x:Key="BaseDataGridCellStyle"
        BasedOn="{StaticResource DataGridCellStyle}"
        TargetType="DataGridCell" />
    <!--<Style x:Key="BaseDataGridCellStyle" TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"></Style>-->

    <Style
        x:Key="BaseDataGridStyle"
        BasedOn="{StaticResource {x:Type DataGrid}}"
        TargetType="DataGrid">
        <Setter Property="AutoGenerateColumns" Value="False" />
        <Setter Property="IsReadOnly" Value="True" />
    </Style>

    <!--  简单校验错误模板  -->
    <ControlTemplate x:Key="ErrorTemplate">
        <Border BorderBrush="Red" BorderThickness="1">
            <AdornedElementPlaceholder />
        </Border>
    </ControlTemplate>

    <!--  全局  -->
    <Style BasedOn="{StaticResource {x:Type DataGrid}}" TargetType="DataGrid">
        <Setter Property="AutoGenerateColumns" Value="False" />
        <Setter Property="IsReadOnly" Value="True" />
        <Setter Property="CanUserAddRows" Value="False" />
        <Setter Property="CanUserDeleteRows" Value="False" />
    </Style>

    <Style BasedOn="{StaticResource DataGridColumnHeaderStyle}" TargetType="DataGridColumnHeader">
        <!--<Setter Property="Padding" Value="12,0,12,0" />-->
        <!--  左,上,右,下  -->
        <!--<Setter Property="MinHeight" Value="5" />-->
        <!--<Setter Property="Height" Value="Auto" />-->
    </Style>

    <Style BasedOn="{StaticResource {x:Type Menu}}" TargetType="Menu">
        <Setter Property="FontSize" Value="{StaticResource sizeValue}" />
    </Style>

    <Style BasedOn="{StaticResource {x:Type MenuItem}}" TargetType="MenuItem">
        <Setter Property="FontSize" Value="{StaticResource sizeValue}" />
    </Style>

    <Style BasedOn="{StaticResource {x:Type TextBlock}}" TargetType="TextBlock">
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>

    <Style BasedOn="{StaticResource {x:Type ComboBox}}" TargetType="ComboBox">
        <Setter Property="Validation.ErrorTemplate" Value="{StaticResource ErrorTemplate}" />
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="True">
                <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}" />
            </Trigger>
        </Style.Triggers>
    </Style>

    <Style BasedOn="{StaticResource {x:Type TextBox}}" TargetType="TextBox">
        <Setter Property="Validation.ErrorTemplate" Value="{StaticResource ErrorTemplate}" />
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="True">
                <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}" />
            </Trigger>
        </Style.Triggers>
    </Style>

    <Style BasedOn="{StaticResource {x:Type Button}}" TargetType="Button">
        <Setter Property="FontSize" Value="{StaticResource sizeValue}" />

    </Style>

</ResourceDictionary>