feature<DiffViewer>: add combined diff view mode; optimize line number using virtualizing ItemsControl instead of TextBox

This commit is contained in:
leo 2020-11-20 15:45:04 +08:00
parent 788013817d
commit b97d5e608d
5 changed files with 457 additions and 254 deletions

View file

@ -108,4 +108,34 @@
</Setter.Value>
</Setter>
</Style>
<Style x:Key="Style.ToggleButton.SplitDirection" TargetType="{x:Type ToggleButton}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Grid Background="Transparent">
<Path
x:Name="Icon"
Height="12"
Width="12"
Style="{DynamicResource Style.Icon}"
Fill="Transparent"
Stroke="{DynamicResource Brush.FG}"
StrokeThickness=".4"
Data="{DynamicResource Icon.SplitHorizontal}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="Icon" Property="Data" Value="{DynamicResource Icon.SplitVertical}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>