wpf 根据x位置设置轨迹球标头

wwtsj6pe  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(104)

我正在尝试设置wpf telerik轨迹球的头球。我想展示的是“X位置:12.2”,12.2基于轨迹球当前的位置。
我使用SeriesProvider生成散点线。我目前拥有的是seriesProvider:

<telerik:RadCartesianChart.SeriesProvider>
        <telerik:ChartSeriesProvider Source="{Binding LineOutputModels, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
            <telerik:ScatterSeriesDescriptor
                ItemsSourcePath="DataPoints"
                XValuePath="X"
                YValuePath="Y">
                <telerik:ScatterSeriesDescriptor.Style>
                    <Style TargetType="telerik:ScatterLineSeries">
                        <Setter Property="Stroke" Value="{Binding Color}" />
                        <Setter Property="TrackBallInfoTemplate" Value="{StaticResource trackBallInfoTemplate}" />
                    </Style>
                </telerik:ScatterSeriesDescriptor.Style>
            </telerik:ScatterSeriesDescriptor>
       </telerik:ChartSeriesProvider>
   </telerik:RadCartesianChart.SeriesProvider>

我想做的是

<telerik:RadCartesianChart.TrackBallInfoStyle>
        <Style TargetType="telerik:TrackBallInfoControl">
            <Setter Property="Header" Value="{Binding Trackball.XPosition}" />
        </Style>
    </telerik:RadCartesianChart.TrackBallInfoStyle>

但我没能成功。我必须使用code behind吗?

oalqel3c

oalqel3c1#

TrackBallInfoControl的数据上下文继承自父RadCartesianChart元素的DataContext
为了实现您的要求,您可以将x:Name分配给ChartTrackBallBehavior,并使用ElementName绑定来访问行为的Position属性。

<telerik:RadCartesianChart.TrackBallInfoStyle>
    <Style TargetType="telerik:TrackBallInfoControl">
        <Setter Property="Header" Value="{Binding ElementName=trackBallBehavior, Path=Position.X}" />
    </Style>
</telerik:RadCartesianChart.TrackBallInfoStyle>

<telerik:RadCartesianChart.Behaviors>
    <telerik:ChartTrackBallBehavior x:Name="trackBallBehavior"/>
</telerik:RadCartesianChart.Behaviors>

相关问题