0

次の 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 を渡します)。ただし、Tag バインディングは機能しません。仕事。四角形をクリックしてクリックを処理すると、タグは常に null になります。

何が原因でしょうか?

4

1 に答える 1

1

値コンバーターのパラメーターに文字列「GamerTag」を受け取ります。これは、これが渡されたものだからです。ConverterParameterプロパティでバインディング式を使用することはできません。そのパラメーターをXAMLで定義すると、常に文字列として解釈されます。

Binding Tagwith{Binding Path=Category}が必要な処理を実行し、コンバーターに同じ値が必要な場合は、BindingonFillに同様の変更を加えることができます。

<Rectangle Fill="{Binding Path=Category, Converter={S...
于 2013-03-02T20:55:38.107 に答える