<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>dynamicdatadisplay Forum Rss Feed</title><link>http://www.codeplex.com/dynamicdatadisplay/Thread/List.aspx</link><description>dynamicdatadisplay Forum Rss Description</description><item><title>New Post: Support for colors</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=75708</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I have just found the D3 and find it very interesting. I have a requirements for a chart with some 10k data points and using WPF polyline etc become very slow. However I need to control every singel color used in the control and also be able to switch on/off grid, labels, axis etc. Is this possible ?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>roald</author><pubDate>Fri, 20 Nov 2009 12:44:53 GMT</pubDate><guid isPermaLink="false">New Post: Support for colors 20091120124453P</guid></item><item><title>New Post: Drawing  a large ammount of data</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=75635</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I made some tests using the Bitmap Based Chart, and I made a line chart (actually a polyline drawed on-demmand according my visible area), but I got some problems with the Y Axis. I would know if there is a easier way to do that (draw a bitmap line using a LineChart).&lt;/p&gt;&lt;/div&gt;</description><author>paulosmasher</author><pubDate>Thu, 19 Nov 2009 18:16:16 GMT</pubDate><guid isPermaLink="false">New Post: Drawing  a large ammount of data 20091119061616P</guid></item><item><title>New Post: How do the filters work?</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=75587</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I need to show a large ammount of data using the D3, and I would know how do the filters work, because I guess it can help me&lt;/p&gt;&lt;/div&gt;</description><author>paulosmasher</author><pubDate>Thu, 19 Nov 2009 12:23:02 GMT</pubDate><guid isPermaLink="false">New Post: How do the filters work? 20091119122302P</guid></item><item><title>New Post: MVVM LineGraph DataSource DP</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=63633</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Ravi,&lt;/p&gt;
&lt;p&gt;That was awesome!&lt;/p&gt;
&lt;p&gt;Now I get the idea, I wasn't thinking about extending the ChartPlotter class.&lt;/p&gt;
&lt;p&gt;You saved me a lot of time, I really appreciated your help.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Andr&amp;eacute;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>andrecarlucci</author><pubDate>Thu, 19 Nov 2009 11:31:21 GMT</pubDate><guid isPermaLink="false">New Post: MVVM LineGraph DataSource DP 20091119113121A</guid></item><item><title>New Post: MVVM LineGraph DataSource DP</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=63633</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Andre&lt;/p&gt;
&lt;p&gt;Refer this, this will give you some idea.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cid-996b1960e19fab56.skydrive.live.com/self.aspx/.Documents/LineGraph.zip"&gt;http://cid-996b1960e19fab56.skydrive.live.com/self.aspx/.Documents/LineGraph.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Ravi&lt;/p&gt;&lt;/div&gt;</description><author>battula32</author><pubDate>Thu, 19 Nov 2009 03:20:00 GMT</pubDate><guid isPermaLink="false">New Post: MVVM LineGraph DataSource DP 20091119032000A</guid></item><item><title>New Post: Binding to multiple LineGraphs from a ViewModel</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74496</link><description>&lt;div style="line-height: normal;"&gt;&lt;div style="color:Black;background-color:White"&gt;
&lt;pre&gt;&lt;span style="font-family:'Segoe UI', 'Microsoft Sans Serif', Arial, Geneva, sans-serif"&gt;&lt;span style="white-space:normal"&gt;I moved away from having a separate control that did it and added it directly to the chart control, now you just&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family:'Segoe UI', 'Microsoft Sans Serif', Arial, Geneva, sans-serif"&gt;&lt;span style="white-space:normal"&gt;&lt;div style="color:Black;background-color:White"&gt;&lt;pre&gt;&lt;span style="color:Blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515"&gt;ChartPlotter&lt;/span&gt; &lt;span style="color:Red"&gt;ItemsSource&lt;/span&gt;&lt;span style="color:Blue"&gt;=&lt;/span&gt;&lt;span style="color:Black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue"&gt;{Binding Charts}&lt;/span&gt;&lt;span style="color:Black"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="color:#0000ff"&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family:'Segoe UI', 'Microsoft Sans Serif', Arial, Geneva, sans-serif;white-space:normal"&gt;In the source directory under Stable\v0.3.1\src\DynamicDataDisplay\Common&amp;nbsp;add the following code to the bottom of the Plotter&amp;nbsp;class in Plotter.cs (sorry for the inline code, but I can't figure out how to do an attachment...) &amp;nbsp;Of course I have not&amp;nbsp;rigorously&amp;nbsp;tested it, but have been using this for a week or so and has held up so far. &amp;nbsp;Let me know if you have any problems and I'll see what I can do to fix them.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family:'Segoe UI', 'Microsoft Sans Serif', Arial, Geneva, sans-serif"&gt;&lt;span style="white-space:normal"&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family:'Segoe UI', 'Microsoft Sans Serif', Arial, Geneva, sans-serif"&gt;&lt;span style="white-space:normal"&gt;mike&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family:'Segoe UI', 'Microsoft Sans Serif', Arial, Geneva, sans-serif"&gt;&lt;span style="white-space:normal"&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family:'Segoe UI', 'Microsoft Sans Serif', Arial, Geneva, sans-serif"&gt;&lt;span style="white-space:normal"&gt;&lt;div style="color:Black;background-color:White"&gt;&lt;pre&gt;&lt;span style="color:Blue"&gt;#region&lt;/span&gt; Items Source

&lt;span style="color:Blue"&gt;public&lt;/span&gt; &lt;span style="color:Blue"&gt;static&lt;/span&gt; DependencyProperty ItemsSourceProperty = DependencyProperty.Register(&lt;span style="color:#A31515"&gt;&amp;quot;ItemsSource&amp;quot;&lt;/span&gt;, &lt;span style="color:Blue"&gt;typeof&lt;/span&gt;(IEnumerable), &lt;span style="color:Blue"&gt;typeof&lt;/span&gt;(Plotter), &lt;span style="color:Blue"&gt;new&lt;/span&gt; FrameworkPropertyMetadata(&lt;span style="color:Blue"&gt;null&lt;/span&gt;, &lt;span style="color:Blue"&gt;new&lt;/span&gt; PropertyChangedCallback(OnItemsSourceChanged)));

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Bindable(&lt;span style="color:Blue"&gt;true&lt;/span&gt;)]
&lt;span style="color:Blue"&gt;public&lt;/span&gt; IEnumerable ItemsSource
{
  &lt;span style="color:Blue"&gt;get&lt;/span&gt;
  {
    &lt;span style="color:Blue"&gt;return&lt;/span&gt; (IEnumerable)GetValue(ItemsSourceProperty);
  }
  &lt;span style="color:Blue"&gt;set&lt;/span&gt;
  {
    &lt;span style="color:Blue"&gt;if&lt;/span&gt;(value == &lt;span style="color:Blue"&gt;null&lt;/span&gt;)
      ClearValue(ItemsSourceProperty);
    &lt;span style="color:Blue"&gt;else&lt;/span&gt;
      SetValue(ItemsSourceProperty, value);
  }
}

&lt;span style="color:Blue"&gt;private&lt;/span&gt; &lt;span style="color:Blue"&gt;static&lt;/span&gt; &lt;span style="color:Blue"&gt;void&lt;/span&gt; OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
  Plotter control = (Plotter)d;
  IEnumerable oldValue = (IEnumerable)e.OldValue;
  IEnumerable newValue = (IEnumerable)e.NewValue;

  &lt;span style="color:Blue"&gt;if&lt;/span&gt;(e.NewValue == &lt;span style="color:Blue"&gt;null&lt;/span&gt;)
    control.ClearItemsSource();
  &lt;span style="color:Blue"&gt;else&lt;/span&gt;
    control.SetItemsSource(newValue);
}

&lt;span style="color:Blue"&gt;private&lt;/span&gt; List&amp;lt;IPlotterElement&amp;gt; _elementsInItemsSource = &lt;span style="color:Blue"&gt;new&lt;/span&gt; List&amp;lt;IPlotterElement&amp;gt;();
&lt;span style="color:Blue"&gt;private&lt;/span&gt; IEnumerable _itemsSource = &lt;span style="color:Blue"&gt;null&lt;/span&gt;;

&lt;span style="color:Blue"&gt;private&lt;/span&gt; &lt;span style="color:Blue"&gt;void&lt;/span&gt; ClearItemsSource()
{
  &lt;span style="color:Blue"&gt;if&lt;/span&gt;(_itemsSource != &lt;span style="color:Blue"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; _itemsSource &lt;span style="color:Blue"&gt;is&lt;/span&gt; INotifyCollectionChanged)
    (_itemsSource &lt;span style="color:Blue"&gt;as&lt;/span&gt; INotifyCollectionChanged).CollectionChanged -= ItemsSourceCollectionChanged;

  &lt;span style="color:Green"&gt;//remove the elements that were added from the items source (create a copy since RemoveItemSourceChild changes the enumeration)&lt;/span&gt;
  List&amp;lt;IPlotterElement&amp;gt; removes = &lt;span style="color:Blue"&gt;new&lt;/span&gt; List&amp;lt;IPlotterElement&amp;gt;(_elementsInItemsSource);
  &lt;span style="color:Blue"&gt;foreach&lt;/span&gt;(IPlotterElement elem &lt;span style="color:Blue"&gt;in&lt;/span&gt; removes)
    RemoveItemSourceChild(elem);

  _elementsInItemsSource.Clear();
}

&lt;span style="color:Blue"&gt;private&lt;/span&gt; &lt;span style="color:Blue"&gt;void&lt;/span&gt; SetItemsSource(IEnumerable list)
{
  ClearItemsSource();

  &lt;span style="color:Blue"&gt;foreach&lt;/span&gt;(&lt;span style="color:Blue"&gt;object&lt;/span&gt; o &lt;span style="color:Blue"&gt;in&lt;/span&gt; list)
  {
    &lt;span style="color:Blue"&gt;if&lt;/span&gt;(o &lt;span style="color:Blue"&gt;is&lt;/span&gt; IPlotterElement)
      AddItemSourceChild(o &lt;span style="color:Blue"&gt;as&lt;/span&gt; IPlotterElement);
  }

  _itemsSource = list;
  &lt;span style="color:Blue"&gt;if&lt;/span&gt;(_itemsSource &lt;span style="color:Blue"&gt;is&lt;/span&gt; INotifyCollectionChanged)
    (_itemsSource &lt;span style="color:Blue"&gt;as&lt;/span&gt; INotifyCollectionChanged).CollectionChanged += ItemsSourceCollectionChanged;
}

&lt;span style="color:Blue"&gt;private&lt;/span&gt; &lt;span style="color:Blue"&gt;void&lt;/span&gt; RemoveItemSourceChild(IPlotterElement elem)
{
  Children.Remove(elem);
  &lt;span style="color:Green"&gt;//it's not in the plotter anymore&lt;/span&gt;
  _elementsInItemsSource.Remove(elem);
}

&lt;span style="color:Blue"&gt;private&lt;/span&gt; &lt;span style="color:Blue"&gt;void&lt;/span&gt; AddItemSourceChild(IPlotterElement elem)
{
  Children.Add(elem);
  &lt;span style="color:Green"&gt;//it's in the plotter not&lt;/span&gt;
  _elementsInItemsSource.Add(elem);
}

&lt;span style="color:Blue"&gt;private&lt;/span&gt; &lt;span style="color:Blue"&gt;void&lt;/span&gt; ItemsSourceCollectionChanged(&lt;span style="color:Blue"&gt;object&lt;/span&gt; sender, NotifyCollectionChangedEventArgs e)
{
  &lt;span style="color:Blue"&gt;if&lt;/span&gt;(e.OldItems != &lt;span style="color:Blue"&gt;null&lt;/span&gt;)
  {
    &lt;span style="color:Blue"&gt;foreach&lt;/span&gt;(&lt;span style="color:Blue"&gt;object&lt;/span&gt; o &lt;span style="color:Blue"&gt;in&lt;/span&gt; e.OldItems)
    {
      &lt;span style="color:Blue"&gt;if&lt;/span&gt;(o &lt;span style="color:Blue"&gt;is&lt;/span&gt; IPlotterElement)
        RemoveItemSourceChild(o &lt;span style="color:Blue"&gt;as&lt;/span&gt; IPlotterElement);
    }
  }

  &lt;span style="color:Blue"&gt;if&lt;/span&gt;(e.NewItems != &lt;span style="color:Blue"&gt;null&lt;/span&gt;)
  {
    &lt;span style="color:Blue"&gt;foreach&lt;/span&gt;(&lt;span style="color:Blue"&gt;object&lt;/span&gt; o &lt;span style="color:Blue"&gt;in&lt;/span&gt; e.NewItems)
    {
      &lt;span style="color:Blue"&gt;if&lt;/span&gt;(o &lt;span style="color:Blue"&gt;is&lt;/span&gt; IPlotterElement)
        AddItemSourceChild(o &lt;span style="color:Blue"&gt;as&lt;/span&gt; IPlotterElement);
    }
  }
}

&lt;span style="color:Blue"&gt;#endregion&lt;/span&gt;

&lt;/pre&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;#region Items Source&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;public static DependencyProperty ItemsSourceProperty = DependencyProperty.Register(&amp;quot;ItemsSource&amp;quot;, typeof(IEnumerable), typeof(Plotter), new FrameworkPropertyMetadata(null, new PropertyChangedCallback(OnItemsSourceChanged)));&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Bindable(true)]&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;public IEnumerable ItemsSource&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;get&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;return (IEnumerable)GetValue(ItemsSourceProperty);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;set&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(value == null)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;ClearValue(ItemsSourceProperty);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;else&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;SetValue(ItemsSourceProperty, value);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;private static void OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;Plotter control = (Plotter)d;&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;IEnumerable oldValue = (IEnumerable)e.OldValue;&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;IEnumerable newValue = (IEnumerable)e.NewValue;&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(e.NewValue == null)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;control.ClearItemsSource();&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;else&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;control.SetItemsSource(newValue);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;private List&amp;lt;IPlotterElement&amp;gt; _elementsInItemsSource = new List&amp;lt;IPlotterElement&amp;gt;();&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;private IEnumerable _itemsSource = null;&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;private void ClearItemsSource()&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(_itemsSource != null &amp;amp;&amp;amp; _itemsSource is INotifyCollectionChanged)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;(_itemsSource as INotifyCollectionChanged).CollectionChanged -= ItemsSourceCollectionChanged;&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;//remove the elements that were added from the items source (create a copy since RemoveItemSourceChild changes the enumeration)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;List&amp;lt;IPlotterElement&amp;gt; removes = new List&amp;lt;IPlotterElement&amp;gt;(_elementsInItemsSource);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;foreach(IPlotterElement elem in removes)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;RemoveItemSourceChild(elem);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;_elementsInItemsSource.Clear();&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;private void SetItemsSource(IEnumerable list)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;ClearItemsSource();&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;foreach(object o in list)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(o is IPlotterElement)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;AddItemSourceChild(o as IPlotterElement);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;_itemsSource = list;&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(_itemsSource is INotifyCollectionChanged)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;(_itemsSource as INotifyCollectionChanged).CollectionChanged += ItemsSourceCollectionChanged;&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;private void RemoveItemSourceChild(IPlotterElement elem)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;Children.Remove(elem);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;//it's not in the plotter anymore&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;_elementsInItemsSource.Remove(elem);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;private void AddItemSourceChild(IPlotterElement elem)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;Children.Add(elem);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;//it's in the plotter not&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;_elementsInItemsSource.Add(elem);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;private void ItemsSourceCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(e.OldItems != null)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;foreach(object o in e.OldItems)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(o is IPlotterElement)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;RemoveItemSourceChild(o as IPlotterElement);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(e.NewItems != null)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;foreach(object o in e.NewItems)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;if(o is IPlotterElement)&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;AddItemSourceChild(o as IPlotterElement);&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;
&lt;div id="_mcePaste" style="left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden"&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;#endregion&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>mweber26</author><pubDate>Wed, 18 Nov 2009 17:52:16 GMT</pubDate><guid isPermaLink="false">New Post: Binding to multiple LineGraphs from a ViewModel 20091118055216P</guid></item><item><title>New Post: Binding to multiple LineGraphs from a ViewModel</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74496</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Mike!&lt;/p&gt;
&lt;p&gt;I'm looking exactly for that, take a look in my question: &lt;a href="http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=63633"&gt;http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=63633&lt;/a&gt;&amp;nbsp;(last reply as for 18/11/2009).&lt;/p&gt;
&lt;p&gt;Could you please provide me the code?&lt;/p&gt;
&lt;p&gt;Thanks a lot in advance,&lt;/p&gt;
&lt;p&gt;Andr&amp;eacute;&lt;/p&gt;&lt;/div&gt;</description><author>andrecarlucci</author><pubDate>Wed, 18 Nov 2009 17:12:34 GMT</pubDate><guid isPermaLink="false">New Post: Binding to multiple LineGraphs from a ViewModel 20091118051234P</guid></item><item><title>New Post: MVVM LineGraph DataSource DP</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=63633</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Just to give more information:&lt;/p&gt;
&lt;p&gt;I'm creating a viewer to some timeseries (datetime / value). 60 values per second to be more precise.&lt;/p&gt;
&lt;p&gt;The user has a listbox with all timeseries and he/she selects as many as he/she wants and click &amp;quot;show&amp;quot;.&lt;/p&gt;
&lt;p&gt;The chart should show all selected series.&amp;nbsp;If the&amp;nbsp;user changes his mind, he can select other series and click show again.&lt;/p&gt;
&lt;p&gt;To achieve that, the show button fires a command handled by the viewmodel, that gets data from database and populates a private member of type List&amp;lt;CompositeDataSource&amp;gt; called LoadedData (exposed as a property). After doing it, it calls OnPropertyChanged(&amp;quot;LoadedData&amp;quot;). This method fires a PropertyChangedEventArgs(&amp;quot;Loaded Data&amp;quot;).&lt;/p&gt;
&lt;p&gt;The XAML is the way I posted before.&lt;/p&gt;
&lt;p&gt;When I debug the solution, the debugger shows me the property LoadedData being called (after the OnPropertyChanged) but the chart is never updated (no lines are shown).&lt;/p&gt;
&lt;p&gt;I see that this doesn't work (using ItemsControl), so would you be so nice to explain me better how to use DependencyProperty in this case?&lt;/p&gt;
&lt;p&gt;Thanks a lot in advance,&lt;/p&gt;
&lt;p&gt;Andr&amp;eacute;&lt;/p&gt;&lt;/div&gt;</description><author>andrecarlucci</author><pubDate>Wed, 18 Nov 2009 16:41:45 GMT</pubDate><guid isPermaLink="false">New Post: MVVM LineGraph DataSource DP 20091118044145P</guid></item><item><title>New Post: MVVM LineGraph DataSource DP</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=63633</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Ravi,&lt;/p&gt;
&lt;p&gt;Thanks for your answer.&lt;/p&gt;
&lt;p&gt;I'm just a bit confused, sorry, I'm starting with WPF.&lt;/p&gt;
&lt;p&gt;Where the DependencyProperty declaration goes?&lt;/p&gt;
&lt;p&gt;And I'm getting this error in the XAML: Error&amp;nbsp;2&amp;nbsp;The property 'LineGraphs' was not found in type 'ChartPlotter'.&lt;/p&gt;
&lt;p&gt;Any thoughts?&lt;br&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Andr&amp;eacute;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>andrecarlucci</author><pubDate>Wed, 18 Nov 2009 16:10:26 GMT</pubDate><guid isPermaLink="false">New Post: MVVM LineGraph DataSource DP 20091118041026P</guid></item><item><title>New Post: Data markers on child vertical axis</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=75429</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;Hi Mikhail,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;Is it possible to show some data markers on child y axis.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;I need to show some thing like this.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;&lt;a href="http://cid-996b1960e19fab56.skydrive.live.com/self.aspx/Trend Snaps/MultipleYAxisArea.jpg"&gt;http://cid-996b1960e19fab56.skydrive.live.com/self.aspx/Trend%20Snaps/MultipleYAxisArea.jpg&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;Regards&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;&lt;span style="font-size:10pt" lang=EN-US&gt;Ravi.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><author>battula32</author><pubDate>Wed, 18 Nov 2009 07:06:05 GMT</pubDate><guid isPermaLink="false">New Post: Data markers on child vertical axis 20091118070605A</guid></item><item><title>New Post: MVVM LineGraph DataSource DP</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=63633</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Use line graphs obeservable collection as dependency property like&lt;/p&gt;
&lt;p&gt;DependencyProperty LineGraphsProperty = DependencyProperty.Register(&amp;quot;LineGraphs&amp;quot;, typeof(ObservableCollection&amp;lt;YourViewModel&amp;gt;), typeof(ChartPlotter), new FrameworkPropertyMetadata(new PropertyChangedCallback(ChangeLineGraphs)));&lt;/p&gt;
&lt;p&gt;YourViewModel contains PointDataSource or CompositeDataSource etc.&lt;/p&gt;
&lt;p&gt;Bind ObservableCollection&amp;lt;YourViewModel&amp;gt; LineGraphs;&lt;/p&gt;
&lt;p&gt;If you do LineGraphs.Add(object of YourViewModel) thi will fire linegrphs change dependenccy property event arguments.&lt;/p&gt;
&lt;p&gt;in xaml use like&lt;/p&gt;
&lt;p&gt;&amp;lt;ddd:ChartPlotter x:Name=&amp;quot;plotter&amp;quot; LineGraphs=&amp;quot;{Binding Path=LineGraphs}&amp;quot;/&amp;gt;&lt;/p&gt;
&lt;p&gt;This will work&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Ravi.&lt;/p&gt;&lt;/div&gt;</description><author>battula32</author><pubDate>Wed, 18 Nov 2009 03:00:34 GMT</pubDate><guid isPermaLink="false">New Post: MVVM LineGraph DataSource DP 20091118030034A</guid></item><item><title>New Post: MVVM LineGraph DataSource DP</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=63633</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Great Mikhail, it worked :)&lt;/p&gt;
&lt;p&gt;Is there a way to use an ItemsControl or something like that to produce several LineGraphs? I tried to do something like this without success. Any thoughts?&lt;/p&gt;
&lt;p&gt;LoadedData is a List&amp;lt;CompositeDataSource&amp;gt;&lt;/p&gt;
&lt;div style="color:Black;background-color:White"&gt;
&lt;pre&gt;   &amp;lt;d3:ChartPlotter Name=&lt;span style="color:#A31515"&gt;&amp;quot;Chart&amp;quot;&lt;/span&gt;&amp;gt;
   	&amp;lt;d3:VerticalAxisTitle FontSize=&lt;span style="color:#A31515"&gt;&amp;quot;12&amp;quot;&lt;/span&gt;&amp;gt;Value&amp;lt;/d3:VerticalAxisTitle&amp;gt;
         	&amp;lt;d3:HorizontalAxisTitle FontSize=&lt;span style="color:#A31515"&gt;&amp;quot;12&amp;quot;&lt;/span&gt;&amp;gt;Date Time&amp;lt;/d3:HorizontalAxisTitle&amp;gt;
                    
                    
         &amp;lt;ItemsControl ItemsSource=&lt;span style="color:#A31515"&gt;&amp;quot;{Binding LoadedData}&amp;quot;&lt;/span&gt;&amp;gt;
         		&amp;lt;ItemsControl.ItemTemplate&amp;gt;
                  		&amp;lt;DataTemplate&amp;gt;
                                &amp;lt;d3:LineGraph DataSource=&lt;span style="color:#A31515"&gt;&amp;quot;{Binding}&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/d3:LineGraph&amp;gt;
                            &amp;lt;/DataTemplate&amp;gt;
                   &amp;lt;/ItemsControl.ItemTemplate&amp;gt;
	&amp;lt;/ItemsControl&amp;gt;                    &lt;/pre&gt;
&lt;pre&gt;   &amp;lt;/d3:ChartPlotter&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description><author>andrecarlucci</author><pubDate>Tue, 17 Nov 2009 17:45:58 GMT</pubDate><guid isPermaLink="false">New Post: MVVM LineGraph DataSource DP 20091117054558P</guid></item><item><title>New Post: CircleElementPointMarker really slows up Plotter</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=75335</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Using the 5x1000Charts example in your Repros folder - try adding the 5 Lines with a CircleElementPointMarker as shown below:&lt;/p&gt;
&lt;div style="color:Black;background-color:White"&gt;
&lt;pre&gt;          CircleElementPointMarker ce = &lt;span style="color:Blue"&gt;new&lt;/span&gt; CircleElementPointMarker();
          ce.Brush = ColorHelper.RandomBrush;
          ce.Fill = ColorHelper.RandomBrush;
          ce.Size = 10;

          plotter.AddLineGraph(ds1, &lt;span style="color:Blue"&gt;new&lt;/span&gt; Pen(ColorHelper.RandomBrush, 5), ce, &lt;span style="color:Blue"&gt;new&lt;/span&gt; PenDescription(&lt;span style="color:#A31515"&gt;&amp;quot;Line&amp;quot;&lt;/span&gt;)); 
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The whole Plotter slows up significantly.&lt;/p&gt;
&lt;p&gt;I've changed the number of points (&lt;span style="color:#0000ff;font-size:x-small"&gt;&lt;span style="color:#0000ff;font-size:x-small"&gt;private &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small"&gt;&lt;span style="color:#0000ff;font-size:x-small"&gt;const&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small"&gt;&lt;span style="color:#0000ff;font-size:x-small"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small"&gt; count = 1000;)&lt;/span&gt; from 10 to 100 to 1000 - you will see the difference it makes to the overall performance&lt;/p&gt;&lt;/div&gt;</description><author>quinlivan</author><pubDate>Tue, 17 Nov 2009 10:31:49 GMT</pubDate><guid isPermaLink="false">New Post: CircleElementPointMarker really slows up Plotter 20091117103149A</guid></item><item><title>New Post: ChartPlotter resize </title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74845</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Mikhail,&lt;/p&gt;
&lt;p&gt;many thanks for your tips, now the refresh is a little improved, (I'll wait your draft with DirectX...).&lt;/p&gt;
&lt;p&gt;About the first problem, seems that was my problem with the reference of D3 library, now i'm sure that I'm using the latest version of D3 library, but the second problem (see image n. 2) is still present,&lt;br&gt;If you move the grid splitter all the vertical lines will appeare like second image.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Giancarlo.&lt;/p&gt;&lt;/div&gt;</description><author>bigbox168</author><pubDate>Mon, 16 Nov 2009 10:44:01 GMT</pubDate><guid isPermaLink="false">New Post: ChartPlotter resize  20091116104401A</guid></item><item><title>New Post: Line drawing performance in WPF</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74901</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Mikhail,&lt;/p&gt;
&lt;p&gt;That sounds great. I actually had a similar idea myself, but using OpenGL instead of DirectX (I think I read somewhere on the Web that OpenGL is better for 2D than DirectX - which is optimised for 3D high-end games performance. Perhaps you have a comment on this?).&lt;/p&gt;
&lt;p&gt;Anyway, using the very recently released BETA of OpenTK (www.opentk.com), I created a Windows Control derived from the Toolkit class GLControl. I embedded the Control in the WPF XASM using &amp;lt;WindowsFormsHost&amp;gt;, and now rendering 20,000 lines at 50fps without problems, even when the window is full-screen.&lt;/p&gt;
&lt;p&gt;This really has been an eye-opener though. When I first started using WPF it seemed ideal, with everything integrated in a very nice framework based on XML. However, if the 2D (and therefore presumably also 3D) performance is so poor that rendering anything more than a few hundred simple dynamic gfx primitives per second is not possible, even when the WPF stuff is allegedly based directly on DirectX, then I must say I'm disappointed. Is it the anti-aliasing that takes such a long time? Since the performance is so dependent on the length of the rendered lines this would seem logical. Perhaps it can be turned off somehow? But since I'm seeing a performance enhancement in the order of between 100 and 1000 (!!) with OpenGL, I cannot really understand what WPF is doing. Perhaps it's taking small naps or something.&lt;/p&gt;
&lt;p&gt;It does seem that Microsoft have taken some massive step forwards with WPF, but also some unfortunate steps back....&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Lasse&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>lasseroren</author><pubDate>Mon, 16 Nov 2009 10:31:45 GMT</pubDate><guid isPermaLink="false">New Post: Line drawing performance in WPF 20091116103145A</guid></item><item><title>New Post: ChartPlotter with transparent background goes black when copy to clipboard</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74187</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi IanR,&lt;/p&gt;
&lt;p&gt;I've made this fix in second branch of code, so now it should work in WinForms version, too.&lt;/p&gt;
&lt;p&gt;Mikhail.&lt;/p&gt;&lt;/div&gt;</description><author>thecentury</author><pubDate>Sun, 15 Nov 2009 14:27:45 GMT</pubDate><guid isPermaLink="false">New Post: ChartPlotter with transparent background goes black when copy to clipboard 20091115022745P</guid></item><item><title>New Post: Line drawing performance in WPF</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74901</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Lasse,&lt;/p&gt;
&lt;p&gt;I've created a first draft of line chart using DirectX to render itself. This lineChart can be integrated into WPF's scene seamlessly, without air control conflicts and so on, by using D3DImage, provided by ЦЗАю&lt;/p&gt;
&lt;p&gt;This chart has very nice performance - at least animated series with your modification were working in fullscreen mode (1920*1080) without any lags on my GeForce 9600 M.&lt;/p&gt;
&lt;p&gt;So you probably should not be very sad and should not begin to search for other (for example, GDI) solution, as we are capable to provide such high performance solution by WPF+DirectX.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Mikhail.&lt;/p&gt;&lt;/div&gt;</description><author>thecentury</author><pubDate>Sat, 14 Nov 2009 18:21:43 GMT</pubDate><guid isPermaLink="false">New Post: Line drawing performance in WPF 20091114062143P</guid></item><item><title>New Post: Data Binding using XmlDataProvider and XPath</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74741</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;That's wonderful - thank you!! &amp;nbsp;Looking forward to the next installment.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>EeeeEfff</author><pubDate>Fri, 13 Nov 2009 19:19:53 GMT</pubDate><guid isPermaLink="false">New Post: Data Binding using XmlDataProvider and XPath 20091113071953P</guid></item><item><title>New Post: WPF Legend, and other customization</title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74319</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Kevin,&lt;/p&gt;
&lt;p&gt;I'i is difficult to me to name precise date, but maybe release can happen in January-February of the next year - I don't want to give unrealizable promises)&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Mikhail.&lt;/p&gt;&lt;/div&gt;</description><author>thecentury</author><pubDate>Fri, 13 Nov 2009 18:24:36 GMT</pubDate><guid isPermaLink="false">New Post: WPF Legend, and other customization 20091113062436P</guid></item><item><title>New Post: ChartPlotter resize </title><link>http://dynamicdatadisplay.codeplex.com/Thread/View.aspx?ThreadId=74845</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Giancarlo,&lt;/p&gt;
&lt;p&gt;Are you using the latest version of DynamicDataDisplay from 'Source code' page? If not, try to use that version, because in the latest changesets this bug with axes was (I hope) fixed.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I've created sample application with 2 gridSplitters and 3 chartPlotters, and everything worked normally. Probably the bug is in one of older versions of D3.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Currently there is not much difference between complete replacement of data and adding some data to it, because both of them causes complete update of the chart.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;About &amp;quot;Rolling window graph&amp;quot;: please follow the advice I've given there, and add following lines into you code:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="color:Black;background-color:White"&gt;
&lt;pre&gt;&lt;span style="color:Green"&gt;// switching off approximate content bounds' comparison, as this can cause improper behavior.&lt;/span&gt;
plotter.Viewport.UseApproximateContentBoundsComparison = &lt;span style="color:Blue"&gt;false&lt;/span&gt;;
&lt;span style="color:Green"&gt;// adding line chart to plotter&lt;/span&gt;
&lt;span style="color:Blue"&gt;var&lt;/span&gt; line = plotter.AddLineGraph(data.AsDataSource());
&lt;span style="color:Green"&gt;// again switching off approximate content bounds' comparison - now in coercion method of Viewport2D.ContentBounds attached dependency property.&lt;/span&gt;
Viewport2D.SetUsesApproximateContentBoundsComparison(line, &lt;span style="color:Blue"&gt;false&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Mikhail.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>thecentury</author><pubDate>Fri, 13 Nov 2009 18:21:29 GMT</pubDate><guid isPermaLink="false">New Post: ChartPlotter resize  20091113062129P</guid></item></channel></rss>