0

所以我正在编写一个由其他几个控件组合而成的 UserControl。特别是一个图表、另一个自定义日期范围控件和用于填充屏幕其他区域的 ContentPresenters。

所以我很好地将我的内容演示者绑定到依赖属性,{Binding ElementName=chartView, Path=RightContent}我想如果我想将一个可选的数据点样式传递给实际的图表控件,我可以做一些事情,比如{Binding ElementName=chartView, Path=DataPointStyle}绑定到 Style 类型的依赖属性。

可悲的是,这给了我错误System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=chartView'. BindingExpression:Path=DataPointStyle; DataItem=null; target element is 'ColumnSeries' (Name=''); target property is 'DataPointStyle' (type 'Style')

因此,我认为 Chart 和 ColumnSeries 控件的工作方式存在一些奇怪的 XAML 范围。它是 2010 年 2 月 WPF 工具包中的 Chart 控件,所以如果有更新的东西我无论如何都应该使用,知道这也很酷。

所以基本上:

<UserControl x:Class="MyFramework.Controls.ChartView"
         x:Name="chartView"
         ...>

    ...

    <!-- Works great -->
    <ContentPresenter Content="{Binding ElementName=chartView, Path=TopContent}" />

    <!-- Doesn't work -->
    <charting:Chart>
        <charting:ColumnSeries DataPointStyle="{Binding ElementName=chartView, Path=DataPointStyle}" />
        </charting:Chart>
    </charting:Chart>


    ...
</UserControl>

如何使 ColumnSeries.DataPointStyle 上的第二个绑定起作用?

4

1 回答 1

0

我从来没有遇到过这样的问题,但作为一种解决方法,您可以尝试使用RelativeSourceFindAncestor模式绑定。

于 2012-04-11T21:40:35.327 回答