たとえば、次の(白と黒の)船のプロファイルがあり、特定の場所でこのプロファイルの上にいくつかの(黄色と赤の)長方形を追加したいと思います。
出来ますか?これどうやってするの?
ハイライトしたい領域の x、y、幅、高さがわかっている場合は、すべてのコントロールをキャンバスに配置することができます。
次のように、コード ビハインドで四角形のプロパティを設定できます。
Rectangle rectangle = new Rectangle();
rectangle.SetValue(Canvas.LeftProperty, 10);
rectangle.SetValue(Canvas.TopProperty, 10);
rectangle.Width = 1000;
rectangle.Height = 50;
rectangle.Fill = new SolidColorBrush() { Color = Colors.Red, Opacity = 0.75f };
canvas.Children.Add(rectangle);
それらをxamlに追加したい場合は、これが好きです。
<Canvas>
<Image Source="..."/>
<Rectangle Canvas.Left="10" Canvas.Top="10" Width="1000" Height="50">
<Rectangle.Fill>
<SolidColorBrush Color="Red" Opacity="0.75"/>
</Rectangle.Fill>
</Rectangle>
</Canvas>
これも役に立ちますので試してみてください。
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Multi_Textbox.Window1"
x:Name="Window"
Title="Window1"
Width="640" Height="480">
<Grid x:Name="LayoutRoot">
<Image Margin="104,50,75,99" Source="barkship.jpg"/>
<Rectangle Fill="#FF28B0DE" HorizontalAlignment="Left" Height="17.334" Margin="212,0,0,111.333" Stroke="Black" VerticalAlignment="Bottom" Width="99.667"/>
<TextBlock HorizontalAlignment="Left" Height="11" Margin="230.667,0,0,115" TextWrapping="Wrap" Text="CHANDRU" VerticalAlignment="Bottom" Width="63.333" Foreground="White"/>
</Grid>
こんな感じで出力されます