所以我正在编写一个由其他几个控件组合而成的 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 上的第二个绑定起作用?