aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/ICSharpCode.AvalonEdit/TextEditor.xaml
blob: c99e0b4f28343562c9efa39619e2467d21d19069 (plain)
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
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:AvalonEdit="clr-namespace:ICSharpCode.AvalonEdit"
	xmlns:editing="clr-namespace:ICSharpCode.AvalonEdit.Editing"
>
	<Style TargetType="{x:Type AvalonEdit:TextEditor}">
		<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
		<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
		<Setter Property="FlowDirection" Value="LeftToRight"/> <!-- AvalonEdit does not support RTL, so ensure we use LTR by default -->
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type AvalonEdit:TextEditor}">
					<ScrollViewer
						Focusable="False"
						Name="PART_ScrollViewer"
						CanContentScroll="True"
						VerticalScrollBarVisibility="{TemplateBinding VerticalScrollBarVisibility}"
						HorizontalScrollBarVisibility="{TemplateBinding HorizontalScrollBarVisibility}"
						Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TextArea}"
						VerticalContentAlignment="Top"
						HorizontalContentAlignment="Left"
						Background="{TemplateBinding Background}"
						Padding="{TemplateBinding Padding}"
						BorderBrush="{TemplateBinding BorderBrush}"
						BorderThickness="{TemplateBinding BorderThickness}"
					/>
					<ControlTemplate.Triggers>
						<Trigger Property="WordWrap"
						         Value="True">
							<Setter TargetName="PART_ScrollViewer"
							        Property="HorizontalScrollBarVisibility"
							        Value="Disabled" />
						</Trigger>
					</ControlTemplate.Triggers>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>
	
	<Style TargetType="{x:Type editing:TextArea}">
		<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
		<Setter Property="SelectionBrush">
			<Setter.Value>
				<SolidColorBrush
					Color="{DynamicResource {x:Static SystemColors.HighlightColorKey}}"
					Opacity="0.7"/>
			</Setter.Value>
		</Setter>
		<Setter Property="SelectionBorder">
			<Setter.Value>
				<Pen Brush="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"
				     Thickness="1"/>
			</Setter.Value>
		</Setter>
		<Setter Property="SelectionForeground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type editing:TextArea}">
					<DockPanel Focusable="False">
						<ItemsControl DockPanel.Dock="Left"
						              Focusable="False"
						              ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=LeftMargins}">
							<ItemsControl.ItemsPanel>
								<ItemsPanelTemplate>
									<StackPanel Orientation="Horizontal" />
								</ItemsPanelTemplate>
							</ItemsControl.ItemsPanel>
						</ItemsControl>
						<ContentPresenter
							Panel.ZIndex="-1"
							Focusable="False"
							Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TextView}"/>
					</DockPanel>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>
</ResourceDictionary>