我正在试图制作一个条形图usercontrol。我使用DataTemplate
创建每个栏。在DataTemplate中的TemplatedParent绑定的Silverlight RelativeSource,可能吗?
问题是为了计算每个酒吧的高度,我首先需要知道它的容器的高度(TemplatedParent
)。不幸的是我有:
Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Height, Converter={StaticResource HeightConverter}, Mode=OneWay}"
不起作用。每次将NaN
的值返回给我的Converter。 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>
直到现在我从来没有听说过Silverlight Toolkit图表控件。看起来很有趣,但是一个BarChart应该足够简单,可以处理userControl。我只是希望DataTemplate有更好的方式来引用应用程序中的其他对象。 DataTemplate看起来很孤立,很难创建真正的动态内容。 – 2010-05-04 15:15:13