-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTextView.xaml
60 lines (59 loc) · 3.6 KB
/
TextView.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
<UserControl
x:Name="CurrentControl"
x:Class="Trivial.UI.TextView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Trivial.UI"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="local:TextView" >
<Setter Property="Padding" Value="3" />
<Setter Property="BorderBrush" Value="#20808080" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="4" />
<Setter Property="ItemContainerStyle" >
<Setter.Value>
<Style TargetType="ListViewItem" >
<Setter Property="MinHeight" Value="10" />
<Setter Property="Padding" Value="4,0" />
<Setter Property="Margin" Value="0" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</Setter.Value>
</Setter>
<Setter Property="LineNumberStyle" >
<Setter.Value>
<Style TargetType="TextBlock" BasedOn="{StaticResource WinKit.LineNumberText}" >
</Style>
</Setter.Value>
</Setter>
<Setter Property="PrefixStyle" >
<Setter.Value>
<Style TargetType="TextBlock" BasedOn="{StaticResource WinKit.LineBlockPrefixText}" >
</Style>
</Setter.Value>
</Setter>
<Setter Property="TextStyle" >
<Setter.Value>
<Style TargetType="TextBlock" BasedOn="{StaticResource WinKit.LineBlockContentText}" >
</Style>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
</UserControl.Resources>
<ListView x:Name="TextElement" SelectionMode="{x:Bind SelectionMode}" x:DefaultBindMode="OneWay" Foreground="{x:Bind Foreground}" Background="{x:Bind Background}" BackgroundSizing="{x:Bind BackgroundSizing}" Padding="{x:Bind Padding}" BorderBrush="{x:Bind BorderBrush}" BorderThickness="{x:Bind BorderThickness}" CornerRadius="{x:Bind CornerRadius}" ItemContainerStyle="{x:Bind ItemContainerStyle}" ItemClick="TextElement_ItemClick" SelectionChanged="TextElement_SelectionChanged" >
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:TextViewModel" >
<local:TextLineBlock TextBackground="{x:Bind Background}" LineNumberWidth="{Binding Path=LineNumberWidth, ElementName=CurrentControl}" LineNumber="{x:Bind LineNumber}" LineNumberStyle="{Binding Path=LineNumberStyle, ElementName=CurrentControl}" Text="{x:Bind Text}" TextStyle="{Binding Path=TextStyle, ElementName=CurrentControl}" TextHighlighters="{x:Bind TextHighlighters}" IsTextSelectionEnabled="{Binding Path=IsTextSelectionEnabled, ElementName=CurrentControl}" Visibility="{x:Bind Visibility}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</UserControl>