Ошибки привязки в графике WPF
Я пытаюсь сгладить наши ошибки привязки данных, которые на самом деле не влияют на функциональность моего приложения. Я уменьшил проблему до следующего:
<Window x:Class="Testing.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
xmlns:local="clr-namespace:Testing"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ScrollViewer Height="40" x:Name="Testing">
<chartingToolkit:Chart Name="Chart" Width="Auto">
<chartingToolkit:Chart.Series>
<chartingToolkit:BarSeries >
<chartingToolkit:BarSeries.DataPointStyle>
<Style TargetType="chartingToolkit:BarDataPoint">
<Setter Property="Height" Value="{Binding Path=Height, ElementName=Testing}"
PresentationTraceSources.TraceLevel="High"/>
</Style>
</chartingToolkit:BarSeries.DataPointStyle>
</chartingToolkit:BarSeries>
</chartingToolkit:Chart.Series>
</chartingToolkit:Chart>
</ScrollViewer>
</Grid>
</Window>
Который генерирует следующие ошибки:
System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. BindingExpression:Path=Height; DataItem=null; target element is 'BarDataPoint' (Name=''); target property is 'Height' (type 'Double')
System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. BindingExpression:Path=Height; DataItem=null; target element is 'BarDataPoint' (Name=''); target property is 'Height' (type 'Double')
System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. BindingExpression:Path=Height; DataItem=null; target element is 'BarDataPoint' (Name=''); target property is 'Height' (type 'Double')
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=Testing'. BindingExpression:Path=Height; DataItem=null; target element is 'BarDataPoint' (Name=''); target property is 'Height' (type 'Double')
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=Testing'. BindingExpression:Path=Height; DataItem=null; target element is 'BarDataPoint' (Name=''); target property is 'Height' (type 'Double')
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=Testing'. BindingExpression:Path=Height; DataItem=null; target element is 'BarDataPoint' (Name=''); target property is 'Height' (type 'Double')
Меня не интересуют обходные пути, а скорее понимание того, что я делаю неправильно. В реальном приложении (немного отличающаяся) привязка данных все еще дает эти ошибки, но также работает правильно. Я подозреваю, что что-то происходит с библиотекой диаграмм, которая применяет стиль к некоторым точкам данных вне визуального дерева, но я не уверен, как исследовать дальше, так как у меня нет доступа к исходному коду Charting (есть некоторые в codeplex, но это выглядит устаревшим, так как я не смог найти свойство DataPointStyle).