6

我已将画布背景设置为公司徽标的图像。我希望这张图片与画布的右下角对齐。
是否可以这样做,或者是否需要将图像作为孩子添加到画布中?这不适用于该程序,因为画布的所有子项都以不同方式处理。

谢谢你

4

4 回答 4

16

这行得通吗?(无论如何,它对我有用。)

  <Canvas>
    <Canvas.Background>
      <ImageBrush ImageSource="someimage.jpg" AlignmentX="Right" 
          AlignmentY="Bottom" Stretch="None" />
    </Canvas.Background>
  </Canvas>
于 2008-11-07T00:27:07.873 回答
0

AFAIK WPF Canvas 需要使用绝对坐标定位子 UI 元素。为了实现右下锚定效果,我认为您需要处理窗口调整大小事件,重新计算并应用子图像元素的上、左坐标以始终粘在右下角。

<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>
于 2008-11-06T17:23:56.340 回答
0

像这样在 Grid 控件中包含画布和图像怎么样?

<Window ...>
  <Grid>
    <Canvas/>
    <Image HorizontalAlignment="Right" VerticalAlignment="Bottom" .../>
  <Grid>
</Window>
于 2008-11-07T00:18:47.483 回答
0

这是我在画布内使用边框对齐图像的解决方案。此解决方案在调整画布大小时效果很好:

<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>
于 2013-03-25T16:00:24.970 回答