だから私はいくつかの他のコントロールの複合体である UserControl を書いています。具体的には、Chart、別のカスタム日付範囲コントロール、および画面の他の領域を埋めるための 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 Toolkit の 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 の 2 番目のバインドを機能させるにはどうすればよいですか?