キャンバスの背景を会社のロゴのイメージに設定しました。この画像をキャンバスの右下隅に配置したいと思います。
これを行うことは可能ですか、それとも画像を子としてキャンバスに追加する必要がありますか? キャンバスのすべての子が異なる方法で処理されるため、このプログラムでは機能しません。
ありがとうございました
これは機能しますか?(とにかく、それは私のために働きました。)
<Canvas>
<Canvas.Background>
<ImageBrush ImageSource="someimage.jpg" AlignmentX="Right"
AlignmentY="Bottom" Stretch="None" />
</Canvas.Background>
</Canvas>
AFAIK WPFキャンバスでは、絶対座標を使用して子UI要素を配置する必要があります。右下に固定された効果を実現するには、ウィンドウのサイズ変更イベントを処理し、子Image要素のTop、Left座標を再計算して適用し、常に右下隅に固定する必要があると思います。
<Window x:Class="HelloWPF.Window1" xmlns...
Title="Window1" Height="300" Width="339">
<Canvas>
<Image Canvas.Left="195" Canvas.Top="175" Height="87" Name="image1" Stretch="Fill" Width="122" Source="dilbert2666700071126ni1.gif"/>
</Canvas>
</Window>
このようにグリッドコントロール内にキャンバスと画像を含めるのはどうですか?
<Window ...>
<Grid>
<Canvas/>
<Image HorizontalAlignment="Right" VerticalAlignment="Bottom" .../>
<Grid>
</Window>
これは、キャンバス内の境界線を使用して画像を配置する私のソリューションです。このソリューションは、キャンバスのサイズが変更されたときにうまく機能します。
<Canvas x:Name="MiCanvas" Height="250" Width="500" Background="Aqua">
<Border x:Name="MiBorderImage"
Width="{Binding ElementName=MiCanvas, Path=ActualWidth}"
Height="{Binding ElementName=MiCanvas, Path=ActualHeight}"
Background="Transparent">
<Image x:Name="MiImage" Source="/GraphicsLibrary/Logos/MiLogo.png"
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
Stretch="None" />
</Border>
</Canvas>