下面是示例代碼示出了箭頭(三角形)作爲裝飾器。您也可以使用圖片而不是繪圖。搜索谷歌的「Adorner教程WPF」。
MainWindow.xaml
<Grid ... >
...
<StackPanel Orientation="Vertical" Background="#FFEEE528">
<TextBlock x:Name="tb" HorizontalAlignment="Stretch" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
</StackPanel>
</Grid>
ArrowAdorner.cs
public class ArrowAdorner : Adorner
{
private FrameworkElement _adornedElement;
public ArrowAdorner(FrameworkElement adornedElement)
: base(adornedElement)
{
_adornedElement = adornedElement;
}
protected override void OnRender(DrawingContext drawingContext)
{
var height = _adornedElement.ActualHeight;
var width = _adornedElement.ActualWidth;
drawingContext.DrawLine(new Pen(Brushes.Red, 3), new Point(width, 0), new Point(width, height));
drawingContext.DrawLine(new Pen(Brushes.Red, 3), new Point(width,0), new Point(width/2, height/2));
drawingContext.DrawLine(new Pen(Brushes.Red, 3), new Point(width, height), new Point(width/2, height/2));
}
}
MainWindow.cs
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
//attach adorner
var adornedTextBlock = tb;
var adornerLayer = AdornerLayer.GetAdornerLayer(adornedTextBlock);
adornerLayer.Add(new ArrowAdorner(adornedTextBlock));
}
如果你想添加的裝飾器一個Image控件,請嘗試以下鏈接: Any control in adorner。
您應該使用裝飾器。 – AnjumSKhan
沒有好的[mcve],很難理解你的問題。你的兩張照片似乎並沒有相互關聯,並且根本不清楚箭頭與什麼元素相關聯或爲什麼。請在_complete_表單中顯示一個包含數據,視圖模型,XAML等的良好代碼示例。 –