From 407f58da54b2c282f5c309fd074855e32b9aadc8 Mon Sep 17 00:00:00 2001 From: bao-qian Date: Fri, 6 May 2016 03:24:14 +0100 Subject: [PATCH] fix selected item part of #412 --- Wox/MainWindow.xaml | 4 +- Wox/MainWindow.xaml.cs | 9 --- Wox/ResultListBox.xaml | 12 +++- Wox/ResultListBox.xaml.cs | 11 +++- Wox/ViewModel/MainViewModel.cs | 61 +++++++++-------- Wox/ViewModel/ResultsViewModel.cs | 106 ++++++++---------------------- 6 files changed, 81 insertions(+), 122 deletions(-) diff --git a/Wox/MainWindow.xaml b/Wox/MainWindow.xaml index eca840bea1..f17c2f4ac6 100644 --- a/Wox/MainWindow.xaml +++ b/Wox/MainWindow.xaml @@ -41,8 +41,8 @@ Style="{DynamicResource PendingLineStyle}" Visibility="{Binding ProgressBarVisibility, Mode=TwoWay}" Y1="0" Y2="0" X2="100" Height="2" Width="752" StrokeThickness="1"> - - + + \ No newline at end of file diff --git a/Wox/MainWindow.xaml.cs b/Wox/MainWindow.xaml.cs index 77f30e46a3..ff8eedbed7 100644 --- a/Wox/MainWindow.xaml.cs +++ b/Wox/MainWindow.xaml.cs @@ -333,15 +333,6 @@ namespace Wox var vm = DataContext as MainViewModel; if (vm != null) { - if (vm.ContextMenuVisibility.IsVisible()) - { - vm.ContextMenu.SelectResult(result); - } - else - { - vm.Results.SelectResult(result); - } - if (e.ChangedButton == MouseButton.Left) { vm.OpenResultCommand.Execute(null); diff --git a/Wox/ResultListBox.xaml b/Wox/ResultListBox.xaml index 5d73ee306b..b17408c299 100644 --- a/Wox/ResultListBox.xaml +++ b/Wox/ResultListBox.xaml @@ -7,11 +7,16 @@ xmlns:vm="clr-namespace:Wox.ViewModel" mc:Ignorable="d" d:DesignWidth="100" d:DesignHeight="100" d:DataContext="{d:DesignInstance vm:ResultsViewModel}" - MaxHeight="{Binding MaxHeight}" SelectedItem="{Binding SelectedResult}" + MaxHeight="{Binding MaxHeight}" + SelectedIndex="{Binding SelectedIndex, Mode=TwoWay}" + SelectedItem="{Binding SelectedItem, Mode=OneWayToSource}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding Results}" Margin="{Binding Margin}" - Style="{DynamicResource BaseListboxStyle}" SelectionChanged="lbResults_SelectionChanged" Focusable="False" + Style="{DynamicResource BaseListboxStyle}" Focusable="False" KeyboardNavigation.DirectionalNavigation="Cycle" SelectionMode="Single" - VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Standard"> + VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Standard" + SelectionChanged="OnSelectionChanged" + IsSynchronizedWithCurrentItem="True"> + @@ -65,6 +70,7 @@