문제

회사 로고 이미지에 캔버스 배경을 설정했습니다. 이 이미지가 캔버스의 오른쪽 하단에 정렬되기를 원합니다.
이를 수행 할 수 있습니까, 아니면 이미지가 어린이로서 캔버스에 추가되기 위해 필요합니까? 캔버스의 모든 어린이가 다르게 처리 되므로이 프로그램에서는 작동하지 않습니다.

감사합니다

도움이 되었습니까?

해결책

이것이 효과가 있습니까? (어쨌든 나를 위해 일했다.)

  <Canvas>
    <Canvas.Background>
      <ImageBrush ImageSource="someimage.jpg" AlignmentX="Right" 
          AlignmentY="Bottom" Stretch="None" />
    </Canvas.Background>
  </Canvas>

다른 팁

AFAIK WPF 캔버스는 절대 좌표를 사용하여 자식 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>

그리드 제어 내부에 캔버스와 이미지를 포함하는 것은 어떻습니까?

<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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top