forked from finos/ScreenSnippet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SnippingWindow.xaml
87 lines (76 loc) · 3.85 KB
/
SnippingWindow.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
75
76
77
78
79
80
81
82
83
84
85
86
87
<Window x:Class="Paragon.Plugins.ScreenCapture.SnippingWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Snipping Tool"
Height="300" Width="500"
WindowStyle="ToolWindow"
WindowState="Minimized">
<Window.Resources>
<x:Array x:Key="PenColors" x:Type="{x:Type DrawingAttributes}">
<DrawingAttributes Color="Black" Width="5" Height="5"/>
<DrawingAttributes Color="Blue" Width="5" Height="5"/>
<DrawingAttributes Color="Red" Width="5" Height="5"/>
<DrawingAttributes Color="Green" Width="5" Height="5"/>
</x:Array>
<x:Array x:Key="HighlightColors" x:Type="{x:Type DrawingAttributes}">
<DrawingAttributes Color="#60FFFF00" StylusTip="Rectangle" Width="10" Height="30"/>
<DrawingAttributes Color="#60996699" StylusTip="Rectangle" Width="10" Height="30"/>
</x:Array>
<Style TargetType="Button">
<Setter Property="Foreground" Value="Black" />
<Setter Property="MinWidth" Value="75" />
<Setter Property="Margin" Value="0,0,4,0" />
</Style>
<Style TargetType="RadioButton" BasedOn="{StaticResource {x:Type ToggleButton}}">
<Setter Property="Foreground" Value="Black" />
<Setter Property="MinWidth" Value="75" />
<Setter Property="Margin" Value="0,0,4,0" />
</Style>
<Style TargetType="ContextMenu">
<Setter Property="Background" Value="#F0F0F0" />
</Style>
<Style TargetType="MenuItem">
<EventSetter Event="Click" Handler="OnColorClick" />
<Style.Triggers>
<Trigger Property="IsHighlighted" Value="True">
<Setter Property="Background" Value="Aqua" />
</Trigger>
</Style.Triggers>
</Style>
<DataTemplate x:Key="ColorDataTemplate" DataType="DrawingAttributes">
<Border Width="80" Height="10">
<Border.Background >
<SolidColorBrush Color="{Binding Path=Color}"/>
</Border.Background>
</Border>
</DataTemplate>
</Window.Resources>
<DockPanel Background="#F0F0F0">
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="4,8">
<RadioButton Click="OnPenClick">
<RadioButton.ContextMenu>
<ContextMenu x:Name="PenContextMenu" ItemsSource="{Binding Source ={StaticResource PenColors}}" ItemTemplate="{StaticResource ColorDataTemplate}" />
</RadioButton.ContextMenu>
<TextBlock Text="Pen" />
</RadioButton>
<RadioButton Click="OnHighlightClick">
<RadioButton.ContextMenu>
<ContextMenu x:Name="HighlightContextMenu" ItemsSource="{Binding Source={StaticResource HighlightColors}}" ItemTemplate="{StaticResource ColorDataTemplate}" />
</RadioButton.ContextMenu>
<TextBlock Text="Highlight" />
</RadioButton>
<RadioButton Content="Erase" Click="OnEraseClick" />
<Rectangle VerticalAlignment="Stretch" Width="1" Margin="2" Stroke="#B8B8B8" />
<Button Content="Done" Click="OnDoneClick" Margin="4,0,0,0" />
</StackPanel>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Canvas ClipToBounds="True">
<InkCanvas x:Name="InkCanvas" HorizontalAlignment="Stretch">
<InkCanvas.Background>
<ImageBrush x:Name="ImageBrush" Stretch="None" />
</InkCanvas.Background>
</InkCanvas>
</Canvas>
</ScrollViewer>
</DockPanel>
</Window>