У меня следующая проблема: когда элемент на холсте выбран (подлежит удалению), просмотрщик прокрутки всегда сбрасывается в 0: это происходит из-за фокуса в примере кода.Если фокус () удален, средство просмотра прокрутки в порядке, но выбранный элемент теперь нельзя стереть!>> 1001 *
Mainwindow.Xaml code:
<Border Grid.Row="1" BorderThickness="1" BorderBrush="Navy" Margin="2" Padding="2" >
<ScrollViewer Name="Posizione_scrollbar" HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto">
Protected Overrides Sub OnPreviewMouseDown(ByVal e As System.Windows.Input.MouseButtonEventArgs)
MyBase.OnPreviewMouseDown(e)
' usual selection business
Dim designer As DesignerCanvas = TryCast(VisualTreeHelper.GetParent(Me), DesignerCanvas)
If designer IsNot Nothing Then
If (Keyboard.Modifiers And (ModifierKeys.Shift Or ModifierKeys.Control)) <> ModifierKeys.None Then
If Me.IsSelected Then
designer.SelectionService.RemoveFromSelection(Me)
Else
designer.SelectionService.AddToSelection(Me)
End If
ElseIf Not Me.IsSelected Then
If MainViewModel.Instance.ActiveDiagram.STMonitor = False Then
designer.SelectionService.SelectItem(Me)
End If
End If
'Here is the problem: the canvas scrollbar is resetted to 0!
Me.Focus()
End If
'True per avere la gestione col tasto sinistro del mouse
e.Handled = True
End Sub