Skip to content

Commit 4ce0790

Browse files
committed
fix: 相殺できないコントロールにTABキーで移動できていた不具合修正 (#1880)
- 各種カスタムコントロールのFocusableとIsTabStopを整備 - CheckBoxのFocusVisualStyle設定 - Tabの順番がおかしい箇所を修正 - GridSplitterのFocusVisualStyle調整
1 parent baed4e5 commit 4ce0790

14 files changed

Lines changed: 48 additions & 24 deletions

NeeView/NeeView/Runtime/LayoutPanel/LayoutDockPanel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ private void AddPanelSplitterVertical()
150150
HorizontalAlignment = HorizontalAlignment.Stretch,
151151
VerticalAlignment = VerticalAlignment.Center,
152152
Height = _splitterWidth - 2.0,
153+
FocusVisualStyle= App.Current.Resources["NVFocusVisual"] as Style,
153154
};
154155
splitter.SetBinding(GridSplitter.BackgroundProperty, new Binding(nameof(BorderBrush)) { Source = this });
155156
Grid.SetRow(splitter, this.RowDefinitions.Count - 1);
@@ -166,6 +167,7 @@ private void AddPanelSplitterHorizontal()
166167
HorizontalAlignment = HorizontalAlignment.Center,
167168
VerticalAlignment = VerticalAlignment.Stretch,
168169
Width = _splitterWidth - 2.0,
170+
FocusVisualStyle = App.Current.Resources["NVFocusVisual"] as Style,
169171
};
170172
splitter.SetBinding(GridSplitter.BackgroundProperty, new Binding(nameof(BorderBrush)) { Source = this });
171173
Grid.SetColumn(splitter, this.ColumnDefinitions.Count - 1);

NeeView/Print/PrintWindow.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
<nvc:EnterTriggerTextBox Text="{Binding Model.Rows}" Margin="2" TabIndex="2" />
145145
</DockPanel>
146146
</UniformGrid>
147-
<Button x:Name="ResetButton" Style="{StaticResource IconButton}" HorizontalAlignment="Right" Margin="0,20,0,0" Command="{Binding ResetCommand}">
147+
<Button x:Name="ResetButton" Style="{StaticResource IconButton}" HorizontalAlignment="Right" Margin="0,20,0,0" Command="{Binding ResetCommand}" TabIndex="2">
148148
<TextBlock Margin="5" Text="{properties:TextBinding Word.Reset}" Foreground="{DynamicResource Control.Accent}" />
149149
</Button>
150150
</StackPanel>

NeeView/Setting/ContextMenuSettingControl.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<Grid x:Name="Root">
3939
<Border BorderBrush="Gray" BorderThickness="0" Margin="0,20,0,0" >
4040
<DockPanel Margin="0,10,10,0">
41-
<TreeView x:Name="ContextMenuTreeView" BorderBrush="{DynamicResource Control.Border}" BorderThickness="0" TabIndex="10"
41+
<TreeView x:Name="ContextMenuTreeView" BorderBrush="{DynamicResource Control.Border}" BorderThickness="0"
4242
HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
4343
ItemsSource="{Binding MenuTree.Root.Children}" ItemTemplate="{StaticResource treeViewTemplate}"
4444
ContextMenuOpening="ContextMenuTreeView_ContextMenuOpening"

NeeView/Setting/SettingItem.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -801,6 +801,7 @@ public static TextBlock CreateHyperlink(string text, ICommand command)
801801
var link = new Hyperlink();
802802
link.Inlines.Add(text);
803803
link.Command = command;
804+
link.FocusVisualStyle = App.Current.Resources["NVBorderFocusVisual"] as Style;
804805
textBlock.Inlines.Add(link);
805806
return textBlock;
806807
}

NeeView/Setting/SettingItemFileAssociationGroupControl.xaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,17 @@
3535
</UserControl.Resources>
3636

3737
<Grid>
38-
<GroupBox>
38+
<GroupBox KeyboardNavigation.TabNavigation="Local">
3939
<GroupBox.Header>
40-
<CheckBox x:Name="HeaderCheckBox" Content="{Binding Title}" IsChecked="{Binding IsChecked}">
40+
<CheckBox x:Name="HeaderCheckBox" Content="{Binding Title}" IsChecked="{Binding IsChecked}" TabIndex="1">
4141
<CheckBox.ContextMenu>
4242
<ContextMenu>
4343
<MenuItem Header="{properties:TextBinding FileAssociation.Menu.ChangeCategoryIcon}" Command="{Binding ChangeCategoryIconCommand}"/>
4444
</ContextMenu>
4545
</CheckBox.ContextMenu>
4646
</CheckBox>
4747
</GroupBox.Header>
48-
<ItemsControl x:Name="AssociationListBox" ItemsSource="{Binding Items}" Margin="20,5,5,5"/>
48+
<ItemsControl x:Name="AssociationListBox" ItemsSource="{Binding Items}" Margin="20,5,5,5" TabIndex="2" IsTabStop="False"/>
4949
</GroupBox>
5050
</Grid>
5151
</UserControl>

NeeView/SidePanels/Bookmark/BookmarkListView.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@
155155
</local:FolderTreeView.Style>
156156
</local:FolderTreeView>
157157

158-
<GridSplitter x:Name="FolderTreeAreaSplitter" IsTabStop="False" UseLayoutRounding="True" SnapsToDevicePixels="True" Background="{DynamicResource Panel.Splitter}"
159-
MinWidth="6" MinHeight="6"
158+
<GridSplitter x:Name="FolderTreeAreaSplitter" UseLayoutRounding="True" SnapsToDevicePixels="True" Background="{DynamicResource Panel.Splitter}"
159+
MinWidth="6" MinHeight="6" FocusVisualStyle="{StaticResource NVFocusVisual}"
160160
Visibility="{Binding IsFolderTreeVisible, Converter={StaticResource BooleanToVisibilityConverter}}">
161161
<GridSplitter.Style>
162162
<Style TargetType="GridSplitter">

NeeView/SidePanels/Bookshelf/FolderListView.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@
227227
</local:FolderTreeView.Style>
228228
</local:FolderTreeView>
229229

230-
<GridSplitter x:Name="FolderTreeAreaSplitter" IsTabStop="False" UseLayoutRounding="True" SnapsToDevicePixels="True" Background="{DynamicResource Panel.Splitter}"
231-
MinWidth="6" MinHeight="6"
230+
<GridSplitter x:Name="FolderTreeAreaSplitter" UseLayoutRounding="True" SnapsToDevicePixels="True" Background="{DynamicResource Panel.Splitter}"
231+
MinWidth="6" MinHeight="6" FocusVisualStyle="{StaticResource NVFocusVisual}"
232232
Visibility="{Binding IsFolderTreeVisible, Converter={StaticResource BooleanToVisibilityConverter}}">
233233
<GridSplitter.Style>
234234
<Style TargetType="GridSplitter">

NeeView/SidePanels/Bookshelf/FolterTree/FolderTreeModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ public void ExpandRoot()
9090
}
9191
}
9292

93+
public void SelectFirstItem()
94+
{
95+
SelectedItem = _rootQuickAccess ?? _rootBookmarkFolder;
96+
}
97+
9398
public void SelectRootQuickAccess()
9499
{
95100
SelectedItem = _rootQuickAccess;

NeeView/SidePanels/Bookshelf/FolterTree/FolderTreeView.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ public void FocusSelectedItem()
301301

302302
if (this.TreeView.SelectedItem == null)
303303
{
304-
_vm.SelectRootQuickAccess();
304+
_vm.SelectFirstItem();
305305
}
306306

307307
if (_vm.Model.IsFocusAtOnce)

NeeView/SidePanels/Bookshelf/FolterTree/FolderTreeViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ private void Model_SelectedItemChanged(object? sender, EventArgs e)
6060
SelectedItemChanged?.Invoke(sender, e);
6161
}
6262

63-
public void SelectRootQuickAccess()
63+
public void SelectFirstItem()
6464
{
65-
Model?.SelectRootQuickAccess();
65+
Model?.SelectFirstItem();
6666
}
6767

6868
public void Decide(object item)

0 commit comments

Comments
 (0)