У меня есть следующий код, который прикрепляет Adorner
s к UIElement
s, который у меня есть на Canvas
.WPF richTextBox can not идентифицировать как UIElement
private void slideCanvas_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
{
selected = false;
if (selectedElement != null)
{
aLayer.Remove(aLayer.GetAdorners(selectedElement)[0]);
selectedElement = null;
}
}
if (e.Source != slideCanvas)
{
_isDown = true;
_startPoint = e.GetPosition(slideCanvas);
selectedElement = e.Source as UIElement;
_originalLeft = Canvas.GetLeft(selectedElement);
_originalTop = Canvas.GetTop(selectedElement);
aLayer = AdornerLayer.GetAdornerLayer(selectedElement);
aLayer.Add(new ResizingAdorner(selectedElement));
selected = true;
e.Handled = true;
}
}
По некоторым причинам, хотя, когда я нажимаю на RichTextBox
во время выполнения программных сбоев, как RichTextBox
не найден e.Source
в UIElement
.
selectedElement
будет только null
.
Может ли кто-нибудь сказать мне, почему и дать мне работу, пожалуйста?
Вы можете установить точку останова на этой строке, чтобы увидеть, что такое 'e.Source'. Возможно, это один из элементов документа внутри RichTextBox. – Clemens
e.Source - это {System.Windows.Documents.FlowDocument}. Я не совсем уверен, что это значит, кто-нибудь может помочь? – kev3kev3