mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Use Virtualizing StackPanel instead of GridView to greatly reduce the loading resources.
This commit is contained in:
parent
7dc247333c
commit
c89ee33c5b
1 changed files with 8 additions and 13 deletions
|
|
@ -16,6 +16,7 @@
|
|||
Style="{DynamicResource BaseListboxStyle}" Focusable="False"
|
||||
KeyboardNavigation.DirectionalNavigation="Cycle" SelectionMode="Single"
|
||||
VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Standard"
|
||||
ScrollViewer.IsDeferredScrollingEnabled="True"
|
||||
SelectionChanged="OnSelectionChanged"
|
||||
IsSynchronizedWithCurrentItem="True"
|
||||
PreviewMouseDown="ListBox_PreviewMouseDown">
|
||||
|
|
@ -29,26 +30,20 @@
|
|||
</ControlTemplate>
|
||||
</Button.Template>
|
||||
<Button.Content>
|
||||
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5"
|
||||
Cursor="Hand" UseLayoutRounding="False">
|
||||
<Grid.Resources>
|
||||
<VirtualizingStackPanel Orientation="Horizontal" Margin="5,0,5,0">
|
||||
<VirtualizingStackPanel.Resources>
|
||||
<converter:HighlightTextConverter x:Key="HighlightTextConverter"/>
|
||||
<converter:OrdinalConverter x:Key="OrdinalConverter" />
|
||||
<converter:OpenResultHotkeyVisibilityConverter x:Key="OpenResultHotkeyVisibilityConverter" />
|
||||
</Grid.Resources>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="32" />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition Width="0" />
|
||||
</Grid.ColumnDefinitions>
|
||||
</VirtualizingStackPanel.Resources>
|
||||
<Image x:Name="ImageIcon" Width="32" Height="32" HorizontalAlignment="Left"
|
||||
Source="{Binding Image.Value}" />
|
||||
<Grid Margin="5 0 5 0" Grid.Column="1" HorizontalAlignment="Stretch">
|
||||
<Grid Margin="5 0 5 0" HorizontalAlignment="Stretch">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="Auto" x:Name="SubTitleRowDefinition" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Visibility="{Binding ShowOpenResultHotkey}">
|
||||
<VirtualizingStackPanel Visibility="{Binding ShowOpenResultHotkey}">
|
||||
<TextBlock Margin="0 5 5 0" Style="{DynamicResource ItemSubTitleStyle}" HorizontalAlignment="Right" Opacity="0.8" >
|
||||
<TextBlock.Visibility>
|
||||
<Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=ListBoxItem}" Converter="{StaticResource ResourceKey=OpenResultHotkeyVisibilityConverter}" />
|
||||
|
|
@ -60,7 +55,7 @@
|
|||
</MultiBinding>
|
||||
</TextBlock.Text>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
</VirtualizingStackPanel>
|
||||
<TextBlock Style="{DynamicResource ItemTitleStyle}" DockPanel.Dock="Left"
|
||||
VerticalAlignment="Center" ToolTip="{Binding ShowTitleToolTip}" x:Name="Title"
|
||||
Text="{Binding Result.Title}">
|
||||
|
|
@ -81,7 +76,7 @@
|
|||
</vm:ResultsViewModel.FormattedText>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</VirtualizingStackPanel>
|
||||
</Button.Content>
|
||||
</Button>
|
||||
<!-- a result item height is 50 including margin -->
|
||||
|
|
|
|||
Loading…
Reference in a new issue