mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-06-02 09:35:00 +00:00
refactor: use TreeDataGrid instead of TreeView/DataGrid to improve performance (#148)
This commit is contained in:
parent
3160f1d142
commit
b192a1c423
24 changed files with 1333 additions and 1330 deletions
|
@ -330,7 +330,7 @@
|
|||
<x:String x:Key="Text.Push.Remote" xml:space="preserve">Remote :</x:String>
|
||||
<x:String x:Key="Text.Push.Title" xml:space="preserve">Push Changes To Remote</x:String>
|
||||
<x:String x:Key="Text.Push.To" xml:space="preserve">Remote Branch :</x:String>
|
||||
<x:String x:Key="Text.Push.Tracking" xml:space="preserve">Tracking remote branch(--set-upstream)</x:String>
|
||||
<x:String x:Key="Text.Push.Tracking" xml:space="preserve">Tracking remote branch</x:String>
|
||||
<x:String x:Key="Text.Push.WithAllTags" xml:space="preserve">Push all tags</x:String>
|
||||
<x:String x:Key="Text.PushTag" xml:space="preserve">Push Tag To Remote</x:String>
|
||||
<x:String x:Key="Text.PushTag.PushAllRemotes" xml:space="preserve">Push to all remotes</x:String>
|
||||
|
|
|
@ -330,7 +330,7 @@
|
|||
<x:String x:Key="Text.Push.Remote" xml:space="preserve">远程仓库 :</x:String>
|
||||
<x:String x:Key="Text.Push.Title" xml:space="preserve">推送到远程仓库</x:String>
|
||||
<x:String x:Key="Text.Push.To" xml:space="preserve">远程分支 :</x:String>
|
||||
<x:String x:Key="Text.Push.Tracking" xml:space="preserve">跟踪远程分支(--set-upstream)</x:String>
|
||||
<x:String x:Key="Text.Push.Tracking" xml:space="preserve">跟踪远程分支</x:String>
|
||||
<x:String x:Key="Text.Push.WithAllTags" xml:space="preserve">同时推送标签</x:String>
|
||||
<x:String x:Key="Text.PushTag" xml:space="preserve">推送标签到远程仓库</x:String>
|
||||
<x:String x:Key="Text.PushTag.PushAllRemotes" xml:space="preserve">推送到所有远程仓库</x:String>
|
||||
|
|
|
@ -1075,4 +1075,58 @@
|
|||
<Style Selector="TreeViewItem[IsExpanded=False] Path.folder_icon">
|
||||
<Setter Property="Data" Value="{StaticResource Icons.Folder.Fill}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="TreeDataGrid">
|
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate>
|
||||
<Border x:Name="RootBorder"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="{TemplateBinding CornerRadius}">
|
||||
<DockPanel>
|
||||
<ScrollViewer Name="PART_HeaderScrollViewer"
|
||||
DockPanel.Dock="Top"
|
||||
IsVisible="{TemplateBinding ShowColumnHeaders}"
|
||||
HorizontalScrollBarVisibility="Hidden"
|
||||
VerticalScrollBarVisibility="Disabled"
|
||||
BringIntoViewOnFocusChange="{TemplateBinding (ScrollViewer.BringIntoViewOnFocusChange)}">
|
||||
<Border x:Name="ColumnHeadersPresenterBorder">
|
||||
<TreeDataGridColumnHeadersPresenter Name="PART_ColumnHeadersPresenter"
|
||||
ElementFactory="{TemplateBinding ElementFactory}"
|
||||
Items="{TemplateBinding Columns}" />
|
||||
</Border>
|
||||
</ScrollViewer>
|
||||
<ScrollViewer Name="PART_ScrollViewer"
|
||||
HorizontalScrollBarVisibility="{TemplateBinding (ScrollViewer.HorizontalScrollBarVisibility)}"
|
||||
BringIntoViewOnFocusChange="{TemplateBinding (ScrollViewer.BringIntoViewOnFocusChange)}">
|
||||
<TreeDataGridRowsPresenter Name="PART_RowsPresenter"
|
||||
Columns="{TemplateBinding Columns}"
|
||||
ElementFactory="{TemplateBinding ElementFactory}"
|
||||
Items="{TemplateBinding Rows}" />
|
||||
</ScrollViewer>
|
||||
</DockPanel>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
|
||||
<Style Selector="^/template/ Border#ColumnHeadersPresenterBorder">
|
||||
<Setter Property="BorderThickness" Value="0 0 0 1" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource TreeDataGridGridLinesBrush}" />
|
||||
</Style>
|
||||
</Style>
|
||||
|
||||
<Style Selector="TreeDataGridColumnHeader">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
||||
</Style>
|
||||
<Style Selector="TreeDataGridTextCell TextBlock">
|
||||
<Setter Property="FontFamily" Value="{Binding Source={x:Static vm:Preference.Instance}, Path=MonospaceFont}"/>
|
||||
</Style>
|
||||
<Style Selector="TreeDataGridExpanderCell[IsExpanded=True] Path.folder_icon">
|
||||
<Setter Property="Data" Value="{StaticResource Icons.Folder.Open}"/>
|
||||
</Style>
|
||||
<Style Selector="TreeDataGridExpanderCell[IsExpanded=False] Path.folder_icon">
|
||||
<Setter Property="Data" Value="{StaticResource Icons.Folder.Fill}"/>
|
||||
</Style>
|
||||
</Styles>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue