我有以下代碼,它附加Adorner
s到UIElement
s,我有一個Canvas
。WPF richTextBox不能識別爲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