1
- private void SuggestingBox_OnPointerMoved(object sender, PointerRoutedEventArgs e )
1
+ private void SuggestingBox_OnTokenPointerOver(RichSuggestBox sender, RichSuggestTokenPointerOverEventArgs args )
2
2
{
3
- this._pointerPoint = e.GetCurrentPoint((UIElement) sender);
4
- }
3
+ var flyout = (Flyout)FlyoutBase.GetAttachedFlyout( sender);
4
+ var pointerPosition = args.CurrentPoint.Position;
5
5
6
- private void SuggestingBox_OnTokenHovered(RichSuggestBox sender, RichSuggestTokenEventArgs args)
7
- {
8
- this._hoveringTimer.Debounce(() =>
6
+ if (flyout?.Content is ContentPresenter cp && sender.TextDocument.Selection.Type != SelectionType.Normal &&
7
+ (!flyout.IsOpen || cp.Content != args.Token.Item))
9
8
{
10
- var flyout = (Flyout)FlyoutBase.GetAttachedFlyout(sender);
11
- if (flyout?.Content is ContentPresenter cp && sender.TextDocument.Selection.Type != SelectionType.Normal &&
12
- (!flyout.IsOpen || cp.Content != args.Token.Item))
9
+ this._dispatcherQueue.TryEnqueue(() =>
13
10
{
14
11
cp.Content = args.Token.Item;
15
12
flyout.ShowAt(sender, new FlyoutShowOptions
16
13
{
17
- Position = this._pointerPoint.Position ,
18
- ExclusionRect = args.Rect ,
19
- ShowMode = FlyoutShowMode.TransientWithDismissOnPointerMoveAway
14
+ Position = pointerPosition ,
15
+ ExclusionRect = sender.GetRectFromRange( args.Range) ,
16
+ ShowMode = FlyoutShowMode.TransientWithDismissOnPointerMoveAway,
20
17
});
21
- }
22
- }, TimeSpan.FromMilliseconds(200));
18
+ });
19
+ }
23
20
}
24
21
25
22
private void SuggestingBox_OnSuggestionChosen(RichSuggestBox sender, SuggestionChosenEventArgs args)
26
23
{
27
24
if (args.Prefix == "#")
28
25
{
29
- args.Format.Background = Colors.DarkOrange;
30
- args.Format.Foreground = Colors.OrangeRed;
31
- args.Text = ((SampleDataType)args.SelectedItem).Text;
26
+ args.Format.BackgroundColor = Colors.DarkOrange;
27
+ args.Format.ForegroundColor = Colors.OrangeRed;
28
+ args.Format.Bold = FormatEffect.On;
29
+ args.Format.Italic = FormatEffect.On;
30
+ args.DisplayText = ((SampleDataType)args.SelectedItem).Text;
32
31
}
33
32
else
34
33
{
35
- args.Text = ((SampleEmailDataType)args.SelectedItem).DisplayName;
34
+ args.DisplayText = ((SampleEmailDataType)args.SelectedItem).DisplayName;
36
35
}
37
36
}
38
37
39
- private void SuggestingBox_OnSuggestionsRequested (RichSuggestBox sender, SuggestionsRequestedEventArgs args)
38
+ private void SuggestingBox_OnSuggestionRequested (RichSuggestBox sender, SuggestionRequestedEventArgs args)
40
39
{
41
40
if (args.Prefix == "#")
42
41
{
43
42
sender.ItemsSource =
44
- this._samples.Where(x => x.Text.Contains(args.Query , StringComparison.OrdinalIgnoreCase));
43
+ this._samples.Where(x => x.Text.Contains(args.QueryText , StringComparison.OrdinalIgnoreCase));
45
44
}
46
45
else
47
46
{
48
47
sender.ItemsSource =
49
- this._emailSamples.Where(x => x.DisplayName.Contains(args.Query , StringComparison.OrdinalIgnoreCase));
48
+ this._emailSamples.Where(x => x.DisplayName.Contains(args.QueryText , StringComparison.OrdinalIgnoreCase));
50
49
}
51
- }
50
+ }
0 commit comments