我有以下一点XAML:
<telerik:RadCartesianChart x:Name="lifeChart" Grid.Row="1" Palette="Windows8">
<telerik:RadCartesianChart.HorizontalAxis >
<telerik:LinearAxis Maximum="200" Title="Average Life Span (seconds)"/>
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:CategoricalAxis />
</telerik:RadCartesianChart.VerticalAxis>
<telerik:BarSeries ValueBinding="AvgLifetime" CategoryBinding="GamerTag" IsHitTestVisible="True">
<telerik:BarSeries.PointTemplate>
<DataTemplate>
<Rectangle Fill="{Binding ConverterParameter=GamerTag, Converter={StaticResource chartColorConv}, Mode=OneWay}" Tag="{Binding Source=DeathCount,Path=GamerTag}" MouseLeftButtonUp="Rectangle_MouseLeftButtonUp_1" Cursor="Hand" IsHitTestVisible="True" />
</DataTemplate>
</telerik:BarSeries.PointTemplate>
</telerik:BarSeries>
</telerik:RadCartesianChart>
CategoryBinding和ValueBinding运行正常(所以我连接到我的数据吗?)和Fill绑定半工作(调用转换器但传递字符串GamerTag作为参数而不是绑定数据),但标签绑定不起作用。当我单击矩形并处理单击时,标记始终为空。
是什么导致这种情况?
答案 0 :(得分:1)
您在Value Converter的参数中收到字符串“GamerTag”,因为这是您传递给它的内容。您不能在ConverterParameter属性上使用Binding表达式,如果您在XAML中定义该参数,它将始终被解释为字符串。
如果将绑定Tag
与{Binding Path=Category}
完成您想要的操作并且您希望转换器具有相同的值,那么您可以对填充时绑定进行类似的更改。
<Rectangle Fill="{Binding Path=Category, Converter={S...