Silverlight ToolKit Chart:隐藏xaxis标签

时间:2012-04-06 04:15:48

标签: silverlight charts

基本上我有一个包含多个条形图的图表。所有系列的独立值都相同。因此,图表的xaxs使用相同的独立值进行渲染。

如果我想让所有系列(第一个除外)xaxes'标签不可见,我怎么能在xaml声明中做到这一点?

有谁可以请我帮忙吗?

更新

我遇到了以下代码的示例:

<toolkit:Chart x:Name="myChart" Width="600" Height="400">
<toolkit:LineSeries                 
Title="Tasks"
ItemsSource="{Binding}"
IndependentValueBinding="{Binding Month}"
DependentValueBinding="{Binding Task}">                       
</toolkit:LineSeries>

<toolkit:LineSeries                 
Title="Benefits"
ItemsSource="{Binding}"
IndependentValueBinding="{Binding Month}"
DependentValueBinding="{Binding Benefits}">               
</toolkit:LineSeries>

<toolkit:Chart.Axes>
<toolkit:LinearAxis Orientation="Y" Location="Left" Title="First" />
<toolkit:LinearAxis Orientation="Y"  Location="Right" Title="Second" />
</toolkit:Chart.Axes>            
</toolkit:Chart>

如果您绘制上面的代码,您将看到两个系列都将基于左侧的Y值。我们如何改变它,以便在左边和第二个系列上绘制第一个系列,并在右边的Y值上绘制。

可能吗?

感谢。

1 个答案:

答案 0 :(得分:2)

我认为您可以使用DependentRangeAxis对象的LineSeries属性来实现您想要的效果。

首先,为每个Y轴指定x:Name,例如TaskAxisBenefitsAxis

然后,您可以通过向其添加属性

来告诉LineSeries使用轴
DependentRangeAxis="{Binding ElementName=TaskAxis}"

DependentRangeAxis="{Binding ElementName=BenefitsAxis}"

酌情。

然后图表的完整XAML变为

    <toolkit:Chart x:Name="myChart" Width="600" Height="400">
        <toolkit:LineSeries                 
                Title="Tasks"
                ItemsSource="{Binding Path=Data1}"
                IndependentValueBinding="{Binding Month}"
                DependentValueBinding="{Binding Task}"
                DependentRangeAxis="{Binding ElementName=TaskAxis}">
        </toolkit:LineSeries>
        <toolkit:LineSeries                 
                Title="Benefits"
                ItemsSource="{Binding Path=Data1}"
                IndependentValueBinding="{Binding Month}"
                DependentValueBinding="{Binding Benefits}"
                DependentRangeAxis="{Binding ElementName=BenefitsAxis}">
        </toolkit:LineSeries>
        <toolkit:Chart.Axes>
            <toolkit:LinearAxis Orientation="Y" Location="Left" Title="First" x:Name="TaskAxis" />
            <toolkit:LinearAxis Orientation="Y" Location="Right" Title="Second" x:Name="BenefitsAxis" />
        </toolkit:Chart.Axes>
    </toolkit:Chart>

另一种方法是在LineSeries中移动Axis个对象。可以找到如何执行此操作的演示here