123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- <UserControl x:Class="ComPDFKit.Controls.Common.BaseControl.WritableComboBox"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:local="clr-namespace:ComPDFKit.Controls.Common.BaseControl"
- mc:Ignorable="d"
- d:DesignHeight="300" d:DesignWidth="300"
- IsEnabledChanged="UserControl_IsEnabledChanged"
- Loaded="UserControl_Loaded">
- <UserControl.Resources>
- <BooleanToVisibilityConverter x:Key="BoolToVisible" />
- <SolidColorBrush x:Key="color.field.border.focus">#1770F4</SolidColorBrush>
- <SolidColorBrush x:Key="color.field.border.error">#F3465B</SolidColorBrush>
- <DropShadowEffect
- x:Key="shadow.error.s"
- BlurRadius="4"
- Direction="0"
- Opacity=" 0.4"
- ShadowDepth="0"
- Color="#F3465B" />
- <DropShadowEffect
- x:Key="shadow.blue-0-4"
- BlurRadius="4"
- Direction="270"
- Opacity="0.4"
- ShadowDepth="0"
- Color="#1770F4" />
- <Style x:Key="WarkTextBoxStyle" TargetType="{x:Type TextBox}">
- <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
- <Setter Property="BorderBrush" Value="#FFABADB3" />
- <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
- <Setter Property="BorderThickness" Value="1" />
- <Setter Property="KeyboardNavigation.TabNavigation" Value="None" />
- <Setter Property="HorizontalContentAlignment" Value="Left" />
- <Setter Property="FocusVisualStyle" Value="{x:Null}" />
- <Setter Property="AllowDrop" Value="True" />
- <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst" />
- <Setter Property="Stylus.IsFlicksEnabled" Value="False" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type TextBox}">
- <Border
- x:Name="border"
- Background="{TemplateBinding Background}"
- BorderBrush="{TemplateBinding BorderBrush}"
- BorderThickness="{TemplateBinding BorderThickness}"
- SnapsToDevicePixels="True">
- <Grid>
- <ScrollViewer
- x:Name="PART_ContentHost"
- Focusable="False"
- HorizontalScrollBarVisibility="Hidden"
- VerticalScrollBarVisibility="Hidden" />
- <TextBlock
- x:Name="WARKTEXT"
- Padding="8,6,0,0"
- Foreground="#7F2F2F2F"
- Text="{TemplateBinding Tag}"
- Visibility="Collapsed" />
- </Grid>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="IsEnabled" Value="False">
- <Setter TargetName="border" Property="Opacity" Value="0.56" />
- </Trigger>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter TargetName="border" Property="BorderBrush" Value="#FF7EB4EA" />
- </Trigger>
- <Trigger Property="IsKeyboardFocused" Value="True">
- <Setter TargetName="border" Property="BorderBrush" Value="#FF569DE5" />
- </Trigger>
- <MultiTrigger>
- <MultiTrigger.Conditions>
- <Condition Property="Text" Value="" />
- <!--<Condition Property="IsFocused" Value="False" />-->
- </MultiTrigger.Conditions>
- <Setter TargetName="WARKTEXT" Property="Visibility" Value="Visible" />
- </MultiTrigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Style.Triggers>
- <MultiTrigger>
- <MultiTrigger.Conditions>
- <Condition Property="IsInactiveSelectionHighlightEnabled" Value="True" />
- <Condition Property="IsSelectionActive" Value="False" />
- </MultiTrigger.Conditions>
- <Setter Property="SelectionBrush" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}" />
- </MultiTrigger>
- </Style.Triggers>
- </Style>
- </UserControl.Resources>
- <Grid Background="White">
- <ComboBox
- x:Name="writableComboBox"
- Grid.Column="1"
- MinWidth="58"
- MinHeight="26"
- VerticalContentAlignment="Center"
- Background="White"
- BorderBrush="#B4B4B4"
-
- FontFamily="
- Segoe UI"
- BorderThickness="1"
- MouseEnter="writableComboBox_MouseEnter"
- MouseLeave="writableComboBox_MouseLeave"
- SelectedIndex="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:WritableComboBox}, Path=SelectedIndex}"
- SelectionChanged="writableComboBox_SelectionChanged"
- Visibility="Visible">
- <ComboBoxItem
- x:Name="AllPageItem"
- Tag="AllPage"
- Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:WritableComboBox}, Path=IsAllPageVisible}" />
- <ComboBoxItem x:Name="OddPageItem" Tag="OddPage" />
- <ComboBoxItem
- x:Name="EvenPageItem"
- IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:WritableComboBox}, Path=EvenPageIsEnabled}"
- Tag="EvenPage" />
- <ComboBoxItem x:Name="CustomPageItem" Tag="CustomPage" />
- </ComboBox>
- <Border
- Grid.Column="1"
- MinWidth="58"
- MinHeight="24"
- Panel.ZIndex="1"
- BorderBrush="{StaticResource color.field.border.focus}"
- BorderThickness="1"
- CornerRadius="0"
- Effect="{StaticResource shadow.blue-0-4}"
- Visibility="{Binding ElementName=writableTextBox, Path=IsFocused, Converter={StaticResource BoolToVisible}}" />
- <Border
- x:Name="ErrorBorder"
- Grid.Column="1"
- MinWidth="58"
- MinHeight="24"
- Panel.ZIndex="2"
- BorderBrush="{StaticResource color.field.border.error}"
- BorderThickness="1"
- CornerRadius="4"
- Effect="{StaticResource shadow.error.s}"
- Visibility="Collapsed" />
- <TextBox
- x:Name="writableTextBox"
- Grid.Column="0"
- MinHeight="{Binding ElementName=writableComboBox, Path=MinHeight}"
- Margin="2"
- HorizontalAlignment="Left"
- VerticalContentAlignment="Center"
- Panel.ZIndex="2"
- BorderBrush="{x:Null}"
- BorderThickness="0"
- GotFocus="writableTextBox_GotFocus"
- InputMethod.IsInputMethodEnabled="False"
- LostFocus="writableTextBox_LostFocus"
- PreviewKeyDown="writableTextBox_PreviewKeyDown"
- PreviewTextInput="writableTextBox_PreviewTextInput"
- Style="{StaticResource WarkTextBoxStyle}"
- Tag="例如1,3-5,10"
- Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:WritableComboBox}, Path=Text}"
- TextChanged="writableTextBox_TextChange"
- Visibility="Hidden"
- Cursor="IBeam">
- <!--<TextBox.CaretBrush>
- <SolidColorBrush Color="#FF7EB4EA" />
- </TextBox.CaretBrush>-->
- </TextBox>
- <local:PopTip
- x:Name="PopTipPageRange"
- Width="300"
- AllowsTransparency="True"
- Background="White"
- PlacementEx="BottomLeft"
- PlacementTarget="{Binding ElementName=writableTextBox}"
- StaysOpen="False">
- <Border>
- <TextBlock
- x:Name="TxtError"
- Margin="10"
- TextWrapping="WrapWithOverflow" />
- </Border>
- </local:PopTip>
- </Grid>
- </UserControl>
|