Question about HorizontalAlignment.Right on window size changed

John Ostler 1 Reputation point

Hello. I am making a wpf app. I have a button that is made out of a canvas. I added this button to the child of another canvas and i want it to stay on the right side of the parent and it does with the code I have written but when i change the size of the application the parent gets way bigger and the exit button doesn't stay on the right hand side which is a problem. How can i the child with horizonatal alignment. right on the right hand side always without adding code to a window size changed event? Thanks.

Windows Presentation Foundation
Windows Presentation Foundation
A part of the .NET Framework that provides a unified programming model for building line-of-business desktop applications on Windows.
2,552 questions
{count} votes

1 answer

Sort by: Most helpful
  1. DaisyTian-1203 11,606 Reputation points

    You can try to design your xaml like below:

     <Grid Width="{Binding RelativeSource={RelativeSource AncestorType=Window,Mode=FindAncestor},Path=ActualWidth}"   
                  Height="{Binding RelativeSource={RelativeSource AncestorType=Window,Mode=FindAncestor},Path=ActualHeight}"   
                    <RowDefinition Height="4*"></RowDefinition>  
                    <RowDefinition Height="*"></RowDefinition>  
                <Canvas Background="Azure" Grid.Row="0">  
                <Canvas Background="LightPink" Grid.Row="1">  
                    <Button Width="50" Content="Exit" Canvas.Right="25" Canvas.Bottom="40" />  

    The result picture is:


    Did I misunderstand, if I did, please post your xaml code for me to analyze.

    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.