1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <local:DropDownButtonBase Style="{DynamicResource ButtonStyle1}" x:Class="CustomControls.ToolStripSplitButton"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:local="clr-namespace:CustomControls">
- <Button.Resources>
- <SolidColorBrush x:Key="Button.Static.Background" Color="Transparent"/>
- <SolidColorBrush x:Key="Button.Static.Border" Color="Transparent"/>
- <SolidColorBrush x:Key="Button.MouseOver.Background" Color="#FFBEE6FD"/>
- <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#FF3C7FB1"/>
- <SolidColorBrush x:Key="Button.Arrow.Background" Color="#FF404040"/>
- <Style x:Key="ButtonStyle1" TargetType="{x:Type local:DropDownButtonBase}">
- <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
- <Setter Property="Background" Value="{DynamicResource Button.Static.Background}"/>
- <Setter Property="BorderBrush" Value="{DynamicResource Button.Static.Border}"/>
- <Setter Property="BorderThickness" Value="1"/>
- <Setter Property="HorizontalContentAlignment" Value="Center"/>
- <Setter Property="VerticalContentAlignment" Value="Center"/>
- <Setter Property="Padding" Value="1"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type local:ToolStripSplitButton}">
- <DockPanel x:Name="panel1">
- <Border x:Name="split" DockPanel.Dock="Right" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0,1,1,1" SnapsToDevicePixels="true">
- <Path x:Name="arrow" Margin="2" Fill="{DynamicResource Button.Arrow.Background}" Data="M 0 0 L 3 3 L 6 0 Z" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Border>
- <Border x:Name="border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
- <StackPanel x:Name="panel2" Orientation="Horizontal" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
- <Image x:Name="image" Source="{TemplateBinding Image}" Width="{TemplateBinding ImageWidth}" Height="{TemplateBinding ImageHeight}" Margin="1,1,2,0"/>
- <TextBlock x:Name="text" Text="{TemplateBinding Text}" Margin="4,0,4,0" TextWrapping="Wrap"/>
- </StackPanel>
- </Border>
- </DockPanel>
- <ControlTemplate.Triggers>
- <Trigger Property="IsMouseOver" SourceName="split" Value="true">
- <Setter Property="Background" TargetName="split" Value="{DynamicResource Button.MouseOver.Background}"/>
- </Trigger>
- <Trigger Property="IsMouseOver" SourceName="border" Value="true">
- <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.MouseOver.Background}"/>
- </Trigger>
- <Trigger Property="IsMouseOver" Value="true">
- <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.MouseOver.Border}"/>
- <Setter Property="BorderBrush" TargetName="split" Value="{DynamicResource Button.MouseOver.Border}"/>
- </Trigger>
- <Trigger Property="IsVertical" Value="true">
- <Setter Property="DockPanel.Dock" TargetName="split" Value="Bottom"/>
- <Setter Property="Orientation" TargetName="panel2" Value="Vertical"/>
- <Setter Property="Height" TargetName="split" Value="16"/>
- <Setter Property="BorderThickness" TargetName="split" Value="1,0,1,1"/>
- <Setter Property="TextAlignment" TargetName="text" Value="Center"/>
- <Setter Property="Data" TargetName="arrow" Value="M0,0 L4,4 L8,0"/>
- <Setter Property="Fill" TargetName="arrow" Value="{x:Null}"/>
- <Setter Property="Stroke" TargetName="arrow" Value="{DynamicResource Button.Arrow.Background}"/>
- </Trigger>
- <Trigger Property="IsDropDownOpen" Value="true">
- <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.MouseOver.Background}"/>
- <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.MouseOver.Border}"/>
- <Setter Property="Background" TargetName="split" Value="{DynamicResource Button.MouseOver.Background}"/>
- <Setter Property="BorderBrush" TargetName="split" Value="{DynamicResource Button.MouseOver.Border}"/>
- </Trigger>
- <Trigger Property="IsEnabled" Value="false">
- <Setter Property="Opacity" TargetName="image" Value="0.3"/>
- <Setter Property="Opacity" TargetName="text" Value="0.5"/>
- <Setter Property="Opacity" TargetName="arrow" Value="0.5"/>
- </Trigger>
- <Trigger Property="Image" Value="{x:Null}">
- <Setter Property="Visibility" TargetName="image" Value="Collapsed"/>
- </Trigger>
- <Trigger Property="Text" Value="">
- <Setter Property="Visibility" TargetName="text" Value="Collapsed"/>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </Button.Resources>
- </local:DropDownButtonBase>
|