根据 x 位置设置轨迹球标题

问题描述 投票:0回答:1

我正在尝试设置 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>

但我无法让它发挥作用。我必须为此使用代码隐藏吗?

.net wpf telerik
1个回答
0
投票

TrackBallInfoControl
的数据上下文继承自父级
DataContext
元素的
RadCartesianChart

为了实现您的要求,您可以将

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>
© www.soinside.com 2019 - 2024. All rights reserved.