How to measure a canvas that has auto height and width

Posted by Wymmeroo on Stack Overflow See other posts from Stack Overflow or by Wymmeroo
Published on 2010-03-18T12:06:45Z Indexed on 2010/05/07 5:18 UTC
Read the original article Hit count: 261

Filed under:
|
|

Hi Folks,

I'm a beginner in silverlight so i hope i can get an answer that brings me some more light in the measure process of silverlight.

I found an interessting flap out control from silverlight slide control and now I try to use it in my project. So that the slide out is working proper, I have to place the user control on a canvas. The user control then uses for itself the height of its content. I just wanna change that behavior so that the height is set to the available space from the parent canvas.

You see the uxBorder where the height is set. How can I measure the actual height and set it to the border?

I tried it with Height={Binding ElementName=notificationCanvas, Path=ActualHeight} but this dependency property has no callback, so the actualHeight is never set.

What I want to achieve is a usercontrol like the tweetboard per example on Jesse Liberty's blog

Sorry for my English writing, I hope you understand my question.

<Canvas x:Name="notificationCanvas" Background="Red">
            <SlideEffectEx:SimpleSlideControl GripWidth="20" GripTitle="Task"  GripHeight="100">
                <Border x:Name="uxBorder"
                  BorderThickness="2"
                  CornerRadius="5"
                  BorderBrush="DarkGray"
                  Background="DarkGray"
                  Padding="5" Width="300"
                  Height="700"
                  >
                    <StackPanel>
                        <TextBlock Text="Tasks"></TextBlock>
                        <Button x:Name="btn1" Margin="5" Content="{Binding ElementName=MainBorder, Path=Height}"></Button>
                        <Button x:Name="btn2" Margin="5" Content="Second Button"></Button>
                        <Button x:Name="btn3" Margin="5" Content="Third Button"></Button>
                        <Button x:Name="btn1_Copy" Margin="5" Content="First Button"/>
                        <Button x:Name="btn1_Copy1" Margin="5" Content="First Button"/>
                        <Button x:Name="btn1_Copy2" Margin="5" Content="First Button"/>
                        <Button x:Name="btn1_Copy3" Margin="5" Content="First Button"/>
                        <Button x:Name="btn1_Copy4" Margin="5" Content="First Button"/>
                        <Button x:Name="btn1_Copy5" Margin="5" Content="First Button"/>
                        <Button x:Name="btn1_Copy6" Margin="5" Content="First Button"/>
                    </StackPanel>
                </Border>
            </SlideEffectEx:SimpleSlideControl>

© Stack Overflow or respective owner

Related posts about Silverlight

Related posts about xaml