我正在尝试制作一个条形图用户控件,我使用
DataTemplate
创建每个条形。问题在于,为了计算每个条形的高度,我需要先知道其容器(TemplatedParent
)的高度。不幸的是,我现在只有:Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Height, Converter={StaticResource HeightConverter}, Mode=OneWay}"
不起作用。每次我的转换器返回NaN
的值时,RelativeSource={RelativeSource TemplatedParent}
在这种情况下不起作用吗?我还能做什么来允许我的DataTemplate与应用它的元素“交流”?
如果有帮助的话,这是裸骨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>