Silverlight RelativeSource of TemplatedParent Binding within a DataTemplate, Is it possible?

Posted by Matt.M on Stack Overflow See other posts from Stack Overflow or by Matt.M
Published on 2010-05-03T16:40:16Z Indexed on 2010/05/20 15:50 UTC
Read the original article Hit count: 967

I'm trying to make a bar graph Usercontrol. I'm creating each bar using a DataTemplate.

The problem is in order to compute the height of each bar, I first need to know the height of its container (the TemplatedParent). Unfortunately what I have:

Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Height,  Converter={StaticResource HeightConverter}, Mode=OneWay}" 

Does not work. Each time a value of NaN is returned to my Converter. Does RelativeSource={RelativeSource TemplatedParent} not work in this context? What else can I do to allow my DataTemplate to "talk" to the element it is being applied to?

Incase it helps here is the barebones DataTemplate:

<DataTemplate x:Key="BarGraphTemplate">
        <Grid Width="30">
            <Rectangle HorizontalAlignment="Center" Stroke="Black" Width="20" Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Height,  Converter={StaticResource HeightConverter}, Mode=OneWay}" VerticalAlignment="Bottom" />
        </Grid>
</DataTemplate>

© Stack Overflow or respective owner

Related posts about Silverlight

Related posts about wpf