Question

J'ai défini un fond de canevas sur l'image du logo d'une société. J'aimerais que cette image soit alignée sur le coin inférieur droit de la toile.
Est-il possible de faire cela, ou faudrait-il que l'image soit ajoutée à la toile en tant qu'enfant? Cela ne fonctionnerait pas avec ce programme car tous les enfants de la toile sont gérés différemment.

Merci

Était-ce utile?

La solution

Cela fonctionnera-t-il? (Cela a fonctionné pour moi, de toute façon.)

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

Autres conseils

Remarquez que le canevas WPF a besoin que des éléments d'interface utilisateur enfants soient positionnés à l'aide de coordonnées absolues. Pour obtenir l'effet d'ancrage en bas à droite, je pense que vous devez gérer l'événement de redimensionnement de la fenêtre, recalculer et appliquer les coordonnées Haut, Gauche pour que l'élément Image enfant se colle toujours à l'élément. coin droit du bas.

<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>

Que diriez-vous de contenir le canevas et l'image à l'intérieur d'un contrôle Grid de la même manière?

<Window ...>
  <Grid>
    <Canvas/>
    <Image HorizontalAlignment="Right" VerticalAlignment="Bottom" .../>
  <Grid>
</Window>

Voici ma solution en utilisant une bordure à l'intérieur du canevas pour aligner l'image. Cette solution fonctionne bien lorsque le canevas est redimensionné:

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top