WinrtXamlToolkit — Диаграмма: ComException при использовании INotifyPropertyChanged

В настоящее время я использую линейную диаграмму (из WinRT XAML Toolkit) и столкнулся с проблемой: все идет правильно, но если мое (In)DependentValue, привязанное к моей LineSeries, содержит уведомление об изменении (INotifyPropertyChanged), инструментарий вызвать COMException.

Я использовал последнюю версию (1.4.1) инструментария от Nuget.

Мой XAML-код:

<toolkitchart:Chart x:Name="AltitudeChart" Height="200">
  <toolkitchart:LineSeries
    IndependentValueBinding="{Binding Distance}"
    DependentValueBinding="{Binding Distance}"
    IsSelectionEnabled="True"
    DependentRangeAxis="{Binding ElementName=LeftAxis}"
    IndependentAxis="{Binding ElementName=BottomAxis}">
    <toolkitchart:LineSeries.DataPointStyle>
       <Style TargetType="toolkitchart:LineDataPoint">
         <Setter Property="Template">
           <Setter.Value>
             <ControlTemplate>
               <local:DetailedPushpin ManipulationDelta="DetailedPushpin_ManipulationDelta" ManipulationMode="TranslateY"/>
             </ControlTemplate>
           </Setter.Value>
         </Setter>
       </Style>              
    </toolkitchart:LineSeries.DataPointStyle>
  </toolkitchart:LineSeries>
  <toolkitchart:Chart.Axes>
    <toolkitchart:LinearAxis x:Name="RightAxis" Orientation="Y" Location="Right"/>
    <toolkitchart:LinearAxis x:Name="LeftAxis" Orientation="Y" Location="Left" Foreground="White"/>
    <toolkitchart:LinearAxis x:Name="BottomAxis" Orientation="X" Location="Bottom" Foreground="White"/>
  </toolkitchart:Chart.Axes>
</toolkitchart:Chart>

И мой код С#:

ObservableCollection<AltChartPoint> ChartPoints = new  ObservableCollection<AltChartPoint>();
AltChartPoint a = new AltChartPoint(12); 
ChartPoints.Add(a);
a.Distance = 13; <-- Throw exception if the change is notified

...

public class AltChartPoint : INotifyPropertyChanged
{
  private double _distance;
  public double Distance 
  {
    get { return _distance; }
    set
    {
      _distance = value;
      //NotifyPropertyChanged("Distance"); <-- Problem is here
    }
  }
}

Можно ли обновить диаграмму с уведомлением об обновлении свойств?

Обратите внимание, что такое же исключение возникло, если я попытаюсь напрямую отредактировать LineDataPoint.DependentValue.


person Nicolas Voron    schedule 24.05.2013    source источник
comment
Исправление - инструментарий не генерирует исключения com, это должна быть платформа, которая делает это, честное слово! :) Вы обновление из ветки диспетчера делаете?   -  person Filip Skakun    schedule 25.05.2013
comment
О, я не думаю, что это правильно: DependentRangeAxis="{Binding ElementName=LeftAxis}"   -  person Filip Skakun    schedule 25.05.2013
comment
Спасибо за ваш ответ. Да, обновление выполняется из потока диспетчера.   -  person Nicolas Voron    schedule 27.05.2013
comment
Почему строка DependentRangeAxis недействительна? Насколько я вижу, он компилируется и работает нормально (кроме моей текущей проблемы)?   -  person Nicolas Voron    schedule 27.05.2013