我正在試圖製作一個條形圖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