| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- <ResourceDictionary
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:c="clr-namespace:SKMC.UI.CustomControls">
- <ResourceDictionary.MergedDictionaries>
- <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Assets/Brushes.xaml" />
- </ResourceDictionary.MergedDictionaries>
- <!-- 主要输入文本框 -->
- <Style x:Key="TextBox.Primary" TargetType="{x:Type c:SKTextBox}">
- <Style.Setters>
- <Setter Property="VerticalContentAlignment" Value="Center" />
- <Setter Property="VerticalAlignment" Value="Stretch" />
- <Setter Property="HorizontalAlignment" Value="Stretch" />
- <Setter Property="BorderThickness" Value="1" />
- <Setter Property="FontSize" Value="12" />
- <Setter Property="Foreground" Value="{DynamicResource Brush.Text}" />
- <Setter Property="IconSize" Value="10" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type c:SKTextBox}">
- <Border
- x:Name="boder"
- Background="{Binding Background, RelativeSource={RelativeSource TemplatedParent}}"
- BorderThickness="{TemplateBinding BorderThickness}"
- CornerRadius="{Binding CornerRadius, RelativeSource={RelativeSource TemplatedParent}}">
- <FrameworkElement.Style>
- <Style TargetType="{x:Type Border}">
- <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border}" />
- <Style.Triggers>
- <DataTrigger Binding="{Binding IsFocused, ElementName=TextBox}" Value="True">
- <Setter Property="BorderBrush" Value="{DynamicResource Brush.Signature}" />
- </DataTrigger>
- <DataTrigger Binding="{Binding IsEnabled, ElementName=TextBox}" Value="False">
- <Setter Property="BorderBrush" Value="{DynamicResource Brush.IconInactive}" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </FrameworkElement.Style>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <Path
- Grid.Column="0"
- Width="{TemplateBinding IconSize}"
- Height="{TemplateBinding IconSize}"
- Margin="5"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Data="{TemplateBinding Icon}"
- Fill="{TemplateBinding Foreground}"
- Stretch="Uniform">
- <FrameworkElement.Style>
- <Style TargetType="{x:Type Path}">
- <Style.Triggers>
- <DataTrigger Binding="{Binding Icon, RelativeSource={RelativeSource TemplatedParent}}" Value="{x:Null}">
- <Setter Property="Visibility" Value="Collapsed" />
- </DataTrigger>
- <DataTrigger Binding="{Binding Icon, RelativeSource={RelativeSource TemplatedParent}}" Value="">
- <Setter Property="Visibility" Value="Collapsed" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </FrameworkElement.Style>
- </Path>
- <!-- 输入框 -->
- <TextBox
- Name="TextBox"
- Grid.Column="1"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Stretch"
- HorizontalContentAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource TemplatedParent}}"
- VerticalContentAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource TemplatedParent}}"
- AcceptsReturn="{Binding AcceptsReturn, RelativeSource={RelativeSource TemplatedParent}}"
- Background="Transparent"
- CaretBrush="{TemplateBinding Foreground}"
- FontSize="{TemplateBinding FontSize}"
- Foreground="{Binding Foreground, RelativeSource={RelativeSource TemplatedParent}}"
- SelectionBrush="{DynamicResource Brush.Border}"
- Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
- TextWrapping="{Binding TextWrapping, RelativeSource={RelativeSource TemplatedParent}}"
- ToolTip="{Binding Text, RelativeSource={RelativeSource TemplatedParent}}">
- <FrameworkElement.Style>
- <Style TargetType="{x:Type TextBox}">
- <Setter Property="BorderThickness" Value="0" />
- <Setter Property="TextBoxBase.CaretBrush" Value="{DynamicResource Brush.Text}" />
- <Setter Property="Padding" Value="4,0,0,0" />
- <Setter Property="ToolTipService.ShowOnDisabled" Value="True" />
- <Setter Property="VerticalAlignment" Value="Center" />
- <Style.Triggers>
- <DataTrigger Binding="{Binding TextWrapping, RelativeSource={RelativeSource TemplatedParent}}" Value="Wrap">
- <Setter Property="TextBoxBase.AcceptsReturn" Value="True" />
- </DataTrigger>
- <DataTrigger Binding="{Binding TextWrapping, RelativeSource={RelativeSource TemplatedParent}}" Value="WrapWithOverflow">
- <Setter Property="TextBoxBase.AcceptsReturn" Value="True" />
- </DataTrigger>
- <DataTrigger Binding="{Binding TextWrapping, RelativeSource={RelativeSource TemplatedParent}}" Value="NoWrap">
- <Setter Property="TextBoxBase.AcceptsReturn" Value="False" />
- </DataTrigger>
- <!--<DataTrigger Binding="{Binding Unit, RelativeSource={RelativeSource TemplatedParent}}" Value="{x:Null}">
- <Setter Property="Padding" Value="5,0" />
- </DataTrigger>
- <DataTrigger Value="" Binding="{Binding Unit, RelativeSource={RelativeSource TemplatedParent}}">
- <Setter Property="Padding" Value="5,0" />
- </DataTrigger>-->
- </Style.Triggers>
- </Style>
- </FrameworkElement.Style>
- </TextBox>
- <!-- 单位 -->
- <Label
- Grid.Column="2"
- HorizontalAlignment="Right"
- VerticalAlignment="Bottom"
- Content="{Binding Unit, RelativeSource={RelativeSource TemplatedParent}}"
- FontSize="{TemplateBinding UnitSize}"
- Foreground="{DynamicResource Brush.Label}">
- <FrameworkElement.Style>
- <Style TargetType="{x:Type Label}">
- <Setter Property="VerticalAlignment" Value="Bottom" />
- <Setter Property="HorizontalAlignment" Value="Right" />
- <Setter Property="Background" Value="Transparent" />
- <Setter Property="BorderThickness" Value="0" />
- <Style.Triggers>
- <DataTrigger Binding="{Binding Unit, RelativeSource={RelativeSource TemplatedParent}}" Value="{x:Null}">
- <Setter Property="Visibility" Value="Collapsed" />
- </DataTrigger>
- <DataTrigger Binding="{Binding Unit, RelativeSource={RelativeSource TemplatedParent}}" Value="">
- <Setter Property="Visibility" Value="Collapsed" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </FrameworkElement.Style>
- </Label>
- </Grid>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="Validation.HasError" Value="True">
- <Setter TargetName="boder" Property="BorderBrush" Value="{StaticResource Brush.Error}" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style.Setters>
- </Style>
- <!-- 简单水印样式 -->
- <Style x:Key="TextBox.SimpleWatermark" TargetType="{x:Type TextBox}">
- <Setter Property="BorderThickness" Value="0.5" />
- <Setter Property="Foreground" Value="{DynamicResource Brush.Text}" />
- <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border}" />
- <Setter Property="FontFamily" Value="{DynamicResource FontFamily.Global}" />
- <Setter Property="FontSize" Value="{DynamicResource FontSize.Body}" />
- <Setter Property="CaretBrush" Value="{DynamicResource Brush.Text}"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type TextBox}">
- <Grid>
- <ScrollViewer x:Name="PART_ContentHost" VerticalAlignment="Center" />
- <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
- <TextBlock
- x:Name="mark"
- Margin="5,0,0,0"
- Padding="0"
- VerticalAlignment="Center"
- Foreground="{DynamicResource Brush.Text}"
- IsHitTestVisible="False"
- Opacity="0.5"
- Text="{TemplateBinding Tag}">
- <TextBlock.Style>
- <Style TargetType="TextBlock">
- <Setter Property="Visibility" Value="Collapsed" />
- <Style.Triggers>
- <DataTrigger Binding="{Binding Path=Text, RelativeSource={RelativeSource TemplatedParent}}" Value="">
- <Setter Property="Visibility" Value="Visible" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </TextBlock.Style>
- </TextBlock>
- </Border>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="IsSelectionActive" Value="True">
- <Setter TargetName="mark" Property="Visibility" Value="Hidden" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <!-- 基本文本框 -->
- <Style x:Key="TextBox.Base" TargetType="{x:Type TextBox}">
- <Style.Setters>
- <Setter Property="VerticalContentAlignment" Value="Center" />
- <Setter Property="HorizontalContentAlignment" Value="Center" />
- <Setter Property="VerticalAlignment" Value="Stretch" />
- <Setter Property="HorizontalAlignment" Value="Stretch" />
- <Setter Property="BorderThickness" Value="1" />
- <Setter Property="FontSize" Value="12" />
- <Setter Property="Background" Value="{DynamicResource Brush.PreviewBackground}"/>
- <Setter Property="Foreground" Value="{DynamicResource Brush.Text}" />
- <Setter Property="FontFamily" Value="{DynamicResource FontFamily.Global}"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type TextBox}">
- <Border
- x:Name="boder"
- Background="{Binding Background, RelativeSource={RelativeSource TemplatedParent}}"
- BorderThickness="{TemplateBinding BorderThickness}">
- <FrameworkElement.Style>
- <Style TargetType="{x:Type Border}">
- <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border}" />
- <Style.Triggers>
- <DataTrigger Binding="{Binding IsFocused, ElementName=TextBox}" Value="True">
- <Setter Property="BorderBrush" Value="{DynamicResource Brush.Signature}" />
- </DataTrigger>
- <DataTrigger Binding="{Binding IsEnabled, ElementName=TextBox}" Value="False">
- <Setter Property="BorderBrush" Value="{DynamicResource Brush.IconInactive}" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </FrameworkElement.Style>
- <!-- 输入框 -->
- <TextBox
- Name="TextBox"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Stretch"
- HorizontalContentAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource TemplatedParent}}"
- VerticalContentAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource TemplatedParent}}"
- AcceptsReturn="{Binding AcceptsReturn, RelativeSource={RelativeSource TemplatedParent}}"
- Background="Transparent"
- CaretBrush="{TemplateBinding Foreground}"
- FontSize="{TemplateBinding FontSize}"
- Foreground="{Binding Foreground, RelativeSource={RelativeSource TemplatedParent}}"
- SelectionBrush="{DynamicResource Brush.Border}"
- Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
- TextWrapping="{Binding TextWrapping, RelativeSource={RelativeSource TemplatedParent}}"
- ToolTip="{Binding Text, RelativeSource={RelativeSource TemplatedParent}}">
- <FrameworkElement.Style>
- <Style TargetType="{x:Type TextBox}">
- <Setter Property="BorderThickness" Value="0" />
- <Setter Property="TextBoxBase.CaretBrush" Value="{DynamicResource Brush.Text}" />
- <Setter Property="Padding" Value="4,0,0,0" />
- <Setter Property="ToolTipService.ShowOnDisabled" Value="True" />
- <Setter Property="VerticalAlignment" Value="Center" />
- <Style.Triggers>
- <DataTrigger Binding="{Binding TextWrapping, RelativeSource={RelativeSource TemplatedParent}}" Value="Wrap">
- <Setter Property="TextBoxBase.AcceptsReturn" Value="True" />
- </DataTrigger>
- <DataTrigger Binding="{Binding TextWrapping, RelativeSource={RelativeSource TemplatedParent}}" Value="WrapWithOverflow">
- <Setter Property="TextBoxBase.AcceptsReturn" Value="True" />
- </DataTrigger>
- <DataTrigger Binding="{Binding TextWrapping, RelativeSource={RelativeSource TemplatedParent}}" Value="NoWrap">
- <Setter Property="TextBoxBase.AcceptsReturn" Value="False" />
- </DataTrigger>
- <!--<DataTrigger Binding="{Binding Unit, RelativeSource={RelativeSource TemplatedParent}}" Value="{x:Null}">
- <Setter Property="Padding" Value="5,0" />
- </DataTrigger>
- <DataTrigger Value="" Binding="{Binding Unit, RelativeSource={RelativeSource TemplatedParent}}">
- <Setter Property="Padding" Value="5,0" />
- </DataTrigger>-->
- </Style.Triggers>
- </Style>
- </FrameworkElement.Style>
- </TextBox>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="Validation.HasError" Value="True">
- <Setter TargetName="boder" Property="BorderBrush" Value="{StaticResource Brush.Error}" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style.Setters>
- </Style>
- </ResourceDictionary>
|