-
Notifications
You must be signed in to change notification settings - Fork 1
/
VertextControlTemplate.xaml
74 lines (67 loc) · 3.95 KB
/
VertextControlTemplate.xaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:gxl="clr-namespace:GraphX;assembly=GraphX.WPF.Controls"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:gala="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Platform"
>
<Style x:Key="MyEditableField" TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsFocused, RelativeSource={RelativeSource Self}}" Value="False">
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="Background" Value="Transparent" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=Page.isSubTreeCommand, Mode=OneWay}" Value="True">
<Setter Property="Background" Value="OrangeRed"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Page.isSubTreeCommand, Mode=OneWay}" Value="False">
<Setter Property="Background" Value="{StaticResource ResourceKey=LightBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type gxl:VertexControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type gxl:VertexControl}">
<Border x:Name="border"
BorderBrush="White"
Background="{StaticResource ResourceKey=LightBrush}"
BorderThickness="1"
CornerRadius="10,10,10,10"
Padding="{TemplateBinding Padding}"
ToolTip="{Binding Path=Page.DisplayText}">
<Border.Resources>
<Style TargetType="ToolTip" BasedOn="{StaticResource {x:Type ToolTip}}">
<Setter Property="Background" Value="White"/>
</Style>
</Border.Resources>
<StackPanel Orientation="Vertical">
<Button x:Name="btn" Tag="{Binding Path=Page.Label}"
Height="25"
>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<gala:EventToCommand Command="{Binding Page.onClick}" CommandParameter="{Binding .}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<Button.Content>
<TextBox Text="{Binding Path=Page.Label}"
Foreground="{StaticResource ResourceKey=TextBrush}" Style="{StaticResource ResourceKey=MyEditableField}">
</TextBox>
</Button.Content>
<Button.Template>
<ControlTemplate TargetType="Button">
<ContentPresenter />
</ControlTemplate>
</Button.Template>
</Button>
</StackPanel>
<Border.Effect>
<DropShadowEffect BlurRadius="2" Color="{StaticResource ResourceKey=MainColor}"
Opacity="0.3" Direction="315"/>
</Border.Effect>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>