| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <ContentControl x:Class="YSAI.Controls.tip.TipControl"
- 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:YSAI.Controls.tip">
- <ContentControl.Resources>
- <local:ToolTipOffsetConverter x:Key="ToolTipOffsetConverter" />
- <Style TargetType="local:TipControl">
- <Setter Property="ToolTipForeground" Value="{DynamicResource TitleForeground}" />
- <Setter Property="Background" Value="{DynamicResource CaptionActiveBackgroundBrush}" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="local:TipControl">
- <Grid>
- <Popup
- x:Name="PART_Popup"
- AllowsTransparency="True"
- IsHitTestVisible="false"
- Placement="Center"
- PlacementTarget="{Binding ElementName=PART_Content}">
- <Border Name="Border" Padding="0,10,0,0">
- <Grid>
- <Border
- x:Name="PART_Arrow"
- Width="30"
- Height="30"
- Background="{TemplateBinding Background}"
- CornerRadius="3"
- RenderTransformOrigin="0.5,0.5">
- <Border.RenderTransform>
- <TransformGroup>
- <ScaleTransform />
- <SkewTransform />
- <RotateTransform Angle="45" />
- <TranslateTransform />
- </TransformGroup>
- </Border.RenderTransform>
- </Border>
- <Border
- Width="{TemplateBinding Width}"
- Height="{TemplateBinding Height}"
- Background="{TemplateBinding Background}"
- BorderThickness="0"
- CornerRadius="3">
- <ContentPresenter
- Margin="10"
- HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
- VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
- ContentSource="ToolTipContent"
- TextBlock.Foreground="{TemplateBinding ToolTipForeground}" />
- </Border>
- </Grid>
- </Border>
- </Popup>
- <ContentPresenter x:Name="PART_Content" />
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="Placement" Value="Right">
- <Setter TargetName="PART_Popup" Property="VerticalOffset" Value="0" />
- <Setter TargetName="PART_Arrow" Property="HorizontalAlignment" Value="Left" />
- <Setter TargetName="Border" Property="Padding" Value="10,0,0,0" />
- <Setter TargetName="PART_Popup" Property="HorizontalOffset">
- <Setter.Value>
- <MultiBinding Converter="{StaticResource ToolTipOffsetConverter}">
- <Binding ElementName="PART_Content" Path="ActualWidth" />
- <Binding ElementName="Border" Path="ActualWidth" />
- </MultiBinding>
- </Setter.Value>
- </Setter>
- </Trigger>
- <Trigger Property="Placement" Value="Left">
- <Setter TargetName="PART_Popup" Property="VerticalOffset" Value="0" />
- <Setter TargetName="PART_Arrow" Property="HorizontalAlignment" Value="Right" />
- <Setter TargetName="Border" Property="Padding" Value="0,0,10,0" />
- <Setter TargetName="PART_Popup" Property="HorizontalOffset">
- <Setter.Value>
- <MultiBinding Converter="{StaticResource ToolTipOffsetConverter}" ConverterParameter="-">
- <Binding ElementName="PART_Content" Path="ActualWidth" />
- <Binding ElementName="Border" Path="ActualWidth" />
- </MultiBinding>
- </Setter.Value>
- </Setter>
- </Trigger>
- <Trigger Property="Placement" Value="Top">
- <Setter TargetName="PART_Popup" Property="HorizontalOffset" Value="0" />
- <Setter TargetName="PART_Arrow" Property="VerticalAlignment" Value="Bottom" />
- <Setter TargetName="Border" Property="Padding" Value="0,0,0,10" />
- <Setter TargetName="PART_Popup" Property="VerticalOffset">
- <Setter.Value>
- <MultiBinding Converter="{StaticResource ToolTipOffsetConverter}" ConverterParameter="-">
- <Binding ElementName="PART_Content" Path="ActualHeight" />
- <Binding ElementName="Border" Path="ActualHeight" />
- </MultiBinding>
- </Setter.Value>
- </Setter>
- </Trigger>
- <Trigger Property="Placement" Value="Bottom">
- <Setter TargetName="PART_Popup" Property="HorizontalOffset" Value="0" />
- <Setter TargetName="PART_Arrow" Property="VerticalAlignment" Value="Top" />
- <Setter TargetName="Border" Property="Padding" Value="0,10,0,0" />
- <Setter TargetName="PART_Popup" Property="VerticalOffset">
- <Setter.Value>
- <MultiBinding Converter="{StaticResource ToolTipOffsetConverter}">
- <Binding ElementName="PART_Content" Path="ActualHeight" />
- <Binding ElementName="Border" Path="ActualHeight" />
- </MultiBinding>
- </Setter.Value>
- </Setter>
- </Trigger>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter TargetName="PART_Popup" Property="IsOpen" Value="true" />
- </Trigger>
- <Trigger Property="ToolTipContent" Value="{x:Null}">
- <Setter TargetName="PART_Popup" Property="IsOpen" Value="false" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </ContentControl.Resources>
- </ContentControl>
|