Skip to content

Commit 58b4c88

Browse files
committed
Move caret position on focus
1 parent 983c441 commit 58b4c88

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

Flow.Launcher.Plugin.OneNote/UI/Views/NewOneNotePagePreviewPanel.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
d:DataContext="{d:DesignInstance Type=vm:NewOneNotePageViewModel}"
1010
d:DesignHeight="300"
1111
d:DesignWidth="300"
12-
PreviewKeyDown="OnKeyDown"
1312
IsVisibleChanged="NewOneNotePagePreviewPanel_IsVisibleChanged"
1413
Loaded="NewOneNotePagePreviewPanel_OnLoaded"
1514
mc:Ignorable="d">
@@ -41,7 +40,7 @@
4140
HorizontalAlignment="Right"
4241
Source="{Binding NewPageUri}" />-->
4342
</Grid>
44-
<Grid>
43+
<Grid PreviewKeyDown="OnKeyDown">
4544
<Grid.RowDefinitions>
4645
<RowDefinition Height="Auto" />
4746
<RowDefinition Height="5" />
@@ -53,6 +52,7 @@
5352
x:Name="TextBoxPageTitle"
5453
Grid.Row="0"
5554
ui:ControlHelper.PlaceholderText="Page Title"
55+
Loaded="NewOneNotePagePreviewPanel_OnLoaded"
5656
Text="{Binding PageTitle, UpdateSourceTrigger=PropertyChanged}" />
5757
<TextBox
5858
Grid.Row="2"

Flow.Launcher.Plugin.OneNote/UI/Views/NewOneNotePagePreviewPanel.xaml.cs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,25 @@ public NewOneNotePagePreviewPanel(PluginInitContext context, OneNoteSection sect
1515
}
1616
private void NewOneNotePagePreviewPanel_OnLoaded(object sender, RoutedEventArgs e)
1717
{
18-
TextBoxPageTitle.Focus();
19-
}
18+
FocusTextBox();
19+
}
2020

2121
private void NewOneNotePagePreviewPanel_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
2222
{
2323
if((bool)e.NewValue)
24-
{
25-
TextBoxPageTitle.Focus();
26-
}
27-
}
24+
{
25+
FocusTextBox();
26+
}
27+
}
28+
29+
private void FocusTextBox()
30+
{
31+
TextBoxPageTitle.Focus();
32+
Keyboard.Focus(TextBoxPageTitle);
33+
TextBoxPageTitle.CaretIndex = TextBoxPageTitle.Text.Length;
34+
}
2835

29-
private void OnKeyDown(object sender, KeyEventArgs e)
36+
private void OnKeyDown(object sender, KeyEventArgs e)
3037
{
3138
if (e.Key != Key.Tab)
3239
return;

0 commit comments

Comments
 (0)