<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Obtics</title><link>http://obtics.codeplex.com/project/feeds/rss</link><description>The object of this project is to create a library that offers Functional Reactive Programming abilities to common .Net languages.   With FRP your calculations automatically respond to changes in the underlying data. Obtics includes a live Object Linq and Linq to Xml. </description><item><title>Closed Issue: ConcurrentHashtable : Custom Comparer Madness! [5603]</title><link>http://obtics.codeplex.com/workitem/5603</link><description>Hi Thomas -&lt;br /&gt;&amp;#160;&lt;br /&gt;I would really appreciate a fix for this.  We&amp;#39;ve put several days into this issue.&lt;br /&gt;&amp;#160;&lt;br /&gt;Background&amp;#58;&lt;br /&gt;--------------------------&lt;br /&gt;We are using Obtics with LLBLGen Pro, one of the strongest ORMs for .NET &amp;#40;also from the Netherlands&amp;#41;.  All our Calculations are performed server-side in real-time &amp;#40;not on the client as with Silverlight&amp;#41;.  Thus - ConcurrentHashtable is EXTREMELY important so users are isolated from eachother&amp;#39;s Calculations on the server.&lt;br /&gt;&amp;#160;&lt;br /&gt;Problem&amp;#58;&lt;br /&gt;--------------------------&lt;br /&gt;Obtics is not always using the ObticsEqualityComparerAttribute to do comparisons.  Our breakpoints in our custom Comparer are firing, so we know we are hooked in correctly.  However, Obtics is still calling .Equals or .GetHashCode on the objects themselves - instead of our Comparer.  This is causing major problems.&lt;br /&gt;&amp;#160;&lt;br /&gt;Unwanted Side Effects, either&amp;#58;&lt;br /&gt;1.&amp;#41; With Custom Comparer&amp;#58;  Only calculations in the first screen work, no calculations in any successive screens or dialogs will function.&lt;br /&gt;2.&amp;#41; Without Custom Comparer&amp;#58;  All Calculations for an Entity are shared across all user sessions&amp;#33;&amp;#33;  If User &amp;#35;1 views Entity A1, and another User &amp;#35;2 views Entity A2... User &amp;#35;1&amp;#39;s calculations are displayed on User &amp;#35;2&amp;#39;s screen.&lt;br /&gt;&amp;#160;&lt;br /&gt;LLBLGen Pro&lt;br /&gt;--------------------------&lt;br /&gt;.Equals&amp;#40;&amp;#41; method is based solely on PrimaryKeys.&lt;br /&gt;.GetHashCode&amp;#40;&amp;#41; method is based solely on all matching field values.&lt;br /&gt;&amp;#160;&lt;br /&gt;Using the methods above, cloning an Entity will result in the clone &amp;#38; original being &amp;#34;equal&amp;#34;.  Also, fetching the same entity twice from the DB... both instances are considered &amp;#34;equal&amp;#34; in the LLBLGen world.  Thus, Obtics will not listen to a cloned entity or a re-fetched entity - because Obtics thinks it is already listening to it, when really it&amp;#39;s only listening to the first entity.&lt;br /&gt;&amp;#160;&lt;br /&gt;This is severely limiting &amp;#38; does not allow for multiple instances of an Entity to be calculated independently on separate screens.&lt;br /&gt;&amp;#160;&lt;br /&gt;We are using deep cloning extensively for child screens &amp;#47; dialog windows where Calculations must be made.  Thus - the main screen&amp;#39;s Calculations must be kept &amp;#47;completely&amp;#47; separate from the child screen&amp;#39;s Calculations.  For our cloned entities to Calculate independently of the original entities, we need to enforce ReferenceEquals&amp;#40;&amp;#41; comparison in Obtics.  Anything less will result in disastrous cross-screen &amp;#38; cross-session calculations.  As you can imagine - horror stories for both our users and the development team.&lt;br /&gt;&amp;#160;&lt;br /&gt;After days of work, we have narrowed it down to a simple unit test, which I am more than happy to provide you with.&lt;br /&gt;&amp;#160;&lt;br /&gt;Also, We do not create any anonymous types in our Expressions, as you have mentioned in other posts.  We have read up on&amp;#58;&lt;br /&gt;&amp;#42; http&amp;#58;&amp;#47;&amp;#47;obtics.codeplex.com&amp;#47;wikipage&amp;#63;title&amp;#61;Well-behaved&amp;#38;ProjectName&amp;#61;obtics&lt;br /&gt;&amp;#42; http&amp;#58;&amp;#47;&amp;#47;obtics.codeplex.com&amp;#47;WorkItem&amp;#47;View.aspx&amp;#63;WorkItemId&amp;#61;5208&lt;br /&gt;&amp;#160;&lt;br /&gt;In Summary, We simply need Obtics to &amp;#42;&amp;#47;always&amp;#47;&amp;#42; use the custom IEqualityComparer.&lt;br /&gt;&amp;#160;&lt;br /&gt;Please help, Thomas&amp;#33;  You are greatly appreciated here - we hold Obtics in high regard.  Look forward to hearing from you.&lt;br /&gt;&amp;#160;&lt;br /&gt;Thank you very much.  Sincerely,&lt;br /&gt;&amp;#160;&lt;br /&gt;Ryan D. Hatch&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#160;&lt;br /&gt;Custom Comparer - Used to keep each object instance separate, so calculations are able to fire separately on two cloned entities&amp;#58;&lt;br /&gt;---&lt;br /&gt;public class RyansObticsEntityComparer &amp;#58; IEqualityComparer&amp;#60;CommonEntityBase&amp;#62;&lt;br /&gt;&amp;#123;&lt;br /&gt;    public bool Equals&amp;#40;CommonEntityBase x, CommonEntityBase y&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        &amp;#47;&amp;#47; Require Same Instance&lt;br /&gt;        return ReferenceEquals&amp;#40;x, y&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#160;&lt;br /&gt;    public int GetHashCode&amp;#40;CommonEntityBase obj&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        &amp;#47;&amp;#47; Return Unique Instance Guid&lt;br /&gt;        byte&amp;#91;&amp;#93; guidBytes &amp;#61; obj.UniqueInstanceID.ToByteArray&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        return BitConverter.ToInt32&amp;#40;guidBytes, 0&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#91;Obtics.ObticsEqualityComparer&amp;#40;typeof&amp;#40;RyansObticsEntityComparer&amp;#41;&amp;#41;&amp;#93;&lt;br /&gt;public class CommonEntityBase&lt;br /&gt;&amp;#123; ...&lt;br /&gt;</description><author>rdhatch</author><pubDate>Thu, 16 May 2013 04:55:52 GMT</pubDate><guid isPermaLink="false">Closed Issue: ConcurrentHashtable : Custom Comparer Madness! [5603] 20130516045552A</guid></item><item><title>New Post: Alternative</title><link>http://obtics.codeplex.com/discussions/431610</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;This project looks great -- I wish I found it sooner.  In fact, I already implemented an alternative which I blogged about today: &lt;a href="http://happynomad121.blogspot.com/2013/01/data-binding-among-complex-expressions.html" rel="nofollow"&gt;http://happynomad121.blogspot.com/2013/01/data-binding-among-complex-expressions.html&lt;/a&gt; .  I hope to get some feedback on my approach.&lt;/p&gt;
&lt;/div&gt;</description><author>happynomad</author><pubDate>Fri, 01 Feb 2013 00:29:36 GMT</pubDate><guid isPermaLink="false">New Post: Alternative 20130201122936A</guid></item><item><title>Source code checked in, #69631</title><link>http://obtics.codeplex.com/SourceControl/changeset/changes/69631</link><description>Upgrade&amp;#58; New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link&amp;#58; http&amp;#58;&amp;#47;&amp;#47;go.microsoft.com&amp;#47;fwlink&amp;#47;&amp;#63;LinkId&amp;#61;254563</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:13:48 GMT</pubDate><guid isPermaLink="false">Source code checked in, #69631 20121001091348P</guid></item><item><title>Source code checked in, #69630</title><link>http://obtics.codeplex.com/SourceControl/changeset/changes/69630</link><description>Checked in by server upgrade</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:07:03 GMT</pubDate><guid isPermaLink="false">Source code checked in, #69630 20121001090703P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;For other programmers who are having problems with this kind of exception, I ended up having this code.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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:blue"&gt;private&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; CreateQueries()
        {
            &lt;span style="color:blue"&gt;var&lt;/span&gt; query = ExpressionObserver.Execute(() =&amp;gt; (&lt;span style="color:blue"&gt;from&lt;/span&gt; o &lt;span style="color:blue"&gt;in&lt;/span&gt; _orders
                                                          &lt;span style="color:blue"&gt;where&lt;/span&gt; o.State != OrderStateEnum.Canceled
                                                          &lt;span style="color:blue"&gt;group&lt;/span&gt; o &lt;span style="color:blue"&gt;by&lt;/span&gt; o.Isin
                                                              &lt;span style="color:blue"&gt;into&lt;/span&gt; g
                                                              &lt;span style="color:blue"&gt;let&lt;/span&gt; name = _referenceData.GetInstrumentName(g.Key)
                                                              &lt;span style="color:blue"&gt;orderby&lt;/span&gt; name &lt;span style="color:blue"&gt;ascending&lt;/span&gt;
                                                              &lt;span style="color:blue"&gt;select&lt;/span&gt; GetComplexRowViewModel(
                                                                                            g.First()
                                                                                            ,
                                                                                            (&lt;span style="color:blue"&gt;from&lt;/span&gt; p &lt;span style="color:blue"&gt;in&lt;/span&gt; _quotes
                                                                                             &lt;span style="color:blue"&gt;where&lt;/span&gt;
                                                                                                 p.Isin == g.Key &amp;amp;&amp;amp;
                                                                                                 p.Exchange == _referenceData.GetPrimaryExchangeId(g.Key) &amp;amp;&amp;amp;
                                                                                                 p.Provider == ProviderEnum.Bloomberg
                                                                                             &lt;span style="color:blue"&gt;select&lt;/span&gt; GetSimpleRowViewModel(p))
                                                                                             ,
                                                                                             (&lt;span style="color:blue"&gt;from&lt;/span&gt; q &lt;span style="color:blue"&gt;in&lt;/span&gt; _quotes
                                                                                              &lt;span style="color:blue"&gt;where&lt;/span&gt;
                                                                                                  q.Isin == g.Key &amp;amp;&amp;amp;
                                                                                                  q.Provider == ProviderEnum.Tradebase &amp;amp;&amp;amp;
                                                                                                  g.Select(s =&amp;gt; s.Exchange).Contains(q.Exchange)
                                                                                              &lt;span style="color:blue"&gt;select&lt;/span&gt; GetSimpleRowViewModel(q))
                                                                                              ,
                                                                                              (&lt;span style="color:blue"&gt;from&lt;/span&gt; o &lt;span style="color:blue"&gt;in&lt;/span&gt; _orders
                                                                                               &lt;span style="color:blue"&gt;where&lt;/span&gt; o.Isin == g.Key
                                                                                               &amp;amp;&amp;amp; o.State != OrderStateEnum.Canceled
                                                                                               &lt;span style="color:blue"&gt;group&lt;/span&gt; o &lt;span style="color:blue"&gt;by&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; { o.LimitPrice, o.OrderSide } &lt;span style="color:blue"&gt;into&lt;/span&gt; x
                                                                                               &lt;span style="color:blue"&gt;select&lt;/span&gt; GetCompressedRowViewModel
                                                                                               (
                                                                                                   x.Key.OrderSide == OrderSideEnum.Sell ? (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;?)x.Key.LimitPrice : (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;?)&lt;span style="color:blue"&gt;null&lt;/span&gt;,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Sell ? x.Select(s =&amp;gt; s.Quantity).Aggregate((c, n) =&amp;gt; c &amp;#43; n) : 0,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Buy ? (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;?)x.Key.LimitPrice : (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;?)&lt;span style="color:blue"&gt;null&lt;/span&gt;,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Buy ? x.Select(s =&amp;gt; s.Quantity).Aggregate((c, n) =&amp;gt; c &amp;#43; n) : 0,
                                                                                                   &lt;span style="color:blue"&gt;string&lt;/span&gt;.Join(&lt;span style="color:#a31515"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;, x.Select(s =&amp;gt; s.Exchange)),
                                                                                                   x.First().Isin.ToString(),
                                                                                                   x.Key.OrderSide == OrderSideEnum.Buy ? x.Count() : 0,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Sell ? x.Count() : 0,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Sell ? RowSide.Sell : RowSide.Buy
                                                                                               ))
                                                                   ,
                                                                   (&lt;span style="color:blue"&gt;from&lt;/span&gt; o &lt;span style="color:blue"&gt;in&lt;/span&gt; _orders
                                                                    &lt;span style="color:blue"&gt;where&lt;/span&gt; o.Isin == g.Key
                                                                    &amp;amp;&amp;amp; o.State != OrderStateEnum.Canceled
                                                                    &lt;span style="color:blue"&gt;select&lt;/span&gt; GetUncompressedRowViewModel(o))
                                                                  
                                                                                             ))).Cascade();
            GridData = query;
        }


        &lt;span style="color:green"&gt;// Obtics &lt;/span&gt;
        &lt;span style="color:blue"&gt;private&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, ComplexRowViewModel&amp;gt; _complexRowViewModels = &lt;span style="color:blue"&gt;new&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, ComplexRowViewModel&amp;gt;();
        &lt;span style="color:blue"&gt;private&lt;/span&gt; ComplexRowViewModel GetComplexRowViewModel(OrderStatusViewModel model, IEnumerable&amp;lt;SimpleRowViewModel&amp;gt; primaryExchanges, IEnumerable&amp;lt;SimpleRowViewModel&amp;gt; groupped
            , IEnumerable&amp;lt;CompressedRowViewModel&amp;gt; compressed, IEnumerable&amp;lt;UncompressedRowViewModel&amp;gt; uncompressed)
        {
            &lt;span style="color:blue"&gt;if&lt;/span&gt; (model == &lt;span style="color:blue"&gt;null&lt;/span&gt;)
                &lt;span style="color:blue"&gt;return&lt;/span&gt; _complexRowViewModels.GetOrAdd(&lt;span style="color:#a31515"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, s2 =&amp;gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; ComplexRowViewModel());

            &lt;span style="color:blue"&gt;return&lt;/span&gt; _complexRowViewModels.GetOrAdd(model.Isin,
                                                  s2 =&amp;gt;
                                                  &lt;span style="color:blue"&gt;new&lt;/span&gt; ComplexRowViewModel(_referenceData) { UnderlyingOrder = model, PrimaryExchange = primaryExchanges.First(), Groupped = groupped, Compressed = compressed, Uncompressed = uncompressed });
        }

        &lt;span style="color:blue"&gt;private&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, SimpleRowViewModel&amp;gt; _simpleRowViewModels = &lt;span style="color:blue"&gt;new&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, SimpleRowViewModel&amp;gt;();
        &lt;span style="color:blue"&gt;private&lt;/span&gt; SimpleRowViewModel GetSimpleRowViewModel(QuoteTickViewModel model)
        {
            &lt;span style="color:blue"&gt;if&lt;/span&gt; (model == &lt;span style="color:blue"&gt;null&lt;/span&gt;)
                &lt;span style="color:blue"&gt;return&lt;/span&gt; _simpleRowViewModels.GetOrAdd(&lt;span style="color:#a31515"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, s2 =&amp;gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; SimpleRowViewModel());

            &lt;span style="color:blue"&gt;return&lt;/span&gt; _simpleRowViewModels.GetOrAdd(model.Isin &amp;#43; model.Exchange,
                                                                s2 =&amp;gt;
                                                                &lt;span style="color:blue"&gt;new&lt;/span&gt; SimpleRowViewModel() { UnderlyingQuote = model });
        }

        &lt;span style="color:blue"&gt;private&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, UncompressedRowViewModel&amp;gt; _uncompressedRowViewModels = &lt;span style="color:blue"&gt;new&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, UncompressedRowViewModel&amp;gt;();
        &lt;span style="color:blue"&gt;private&lt;/span&gt; UncompressedRowViewModel GetUncompressedRowViewModel(OrderStatusViewModel model)
        {
            &lt;span style="color:blue"&gt;if&lt;/span&gt; (model == &lt;span style="color:blue"&gt;null&lt;/span&gt;)
                &lt;span style="color:blue"&gt;return&lt;/span&gt; _uncompressedRowViewModels.GetOrAdd(&lt;span style="color:#a31515"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, s2 =&amp;gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; UncompressedRowViewModel());

            &lt;span style="color:blue"&gt;return&lt;/span&gt; _uncompressedRowViewModels.GetOrAdd(model.InternalId,
                                                                s2 =&amp;gt;
                                                                &lt;span style="color:blue"&gt;new&lt;/span&gt; UncompressedRowViewModel() { UnderlyingOrder = model });
        }

        &lt;span style="color:blue"&gt;private&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, CompressedRowViewModel&amp;gt; _compressedRowViewModels = &lt;span style="color:blue"&gt;new&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, CompressedRowViewModel&amp;gt;();
        &lt;span style="color:blue"&gt;private&lt;/span&gt; CompressedRowViewModel GetCompressedRowViewModel(&lt;span style="color:blue"&gt;decimal&lt;/span&gt;? Ask, &lt;span style="color:blue"&gt;int&lt;/span&gt; AskSize, &lt;span style="color:blue"&gt;decimal&lt;/span&gt;? Bid, &lt;span style="color:blue"&gt;int&lt;/span&gt; BidSize, &lt;span style="color:blue"&gt;string&lt;/span&gt; Exchange, &lt;span style="color:blue"&gt;string&lt;/span&gt; Isin, &lt;span style="color:blue"&gt;int&lt;/span&gt; OrderBuyCount, &lt;span style="color:blue"&gt;int&lt;/span&gt; OrderSellCount, RowSide RowSide)
        {

            &lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; CompressedRowViewModel()
                       {
                           Ask = Ask,
                           AskSize = AskSize,
                           Bid = Bid,
                           BidSize = BidSize,
                           Exchange = Exchange,
                           Isin = Isin,
                           OrderBuyCount = OrderBuyCount,
                           OrderSellCount = OrderSellCount,
                           RowSide = RowSide
                       };
        }
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So basically we what we can say is, Obtics is not entirely compatible with lambda and linq.&lt;/p&gt;
&lt;p&gt;If you want to shape your viewmodels into another format or use surrogate classes or having aggregation with creating new classes on the fly, Obtics is not for you.&lt;/p&gt;
&lt;p&gt;Thanks anyway.&lt;/p&gt;
&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Tue, 10 Jul 2012 14:32:30 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120710023230P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;It is probably the same issue as mentioned in this thread: &lt;a href="http://obtics.codeplex.com/discussions/360575"&gt;http://obtics.codeplex.com/discussions/360575&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The engine does not maintain a list with conversions. It uses your lambda function to find a conversion it needs for adding AND removing. So your lambda needs to return an equal result (not necessairily referentially equal) when it gets called with equal parameters. So:&lt;/p&gt;
&lt;p&gt;X&amp;nbsp;x = value;&lt;/p&gt;
&lt;p&gt;Func&amp;lt;X,Y&amp;gt; yourLambda = &amp;lt;stuff&amp;gt;;&lt;/p&gt;
&lt;p&gt;Assert.IsTrue(EqualityComparer&amp;lt;Y&amp;gt;.Default.Equals(yourLambda(x),yourLambda(x)));&lt;/p&gt;&lt;/div&gt;</description><author>throb</author><pubDate>Tue, 10 Jul 2012 13:43:08 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120710014308P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;As far as I understand, obtics engine is still searching for the order with active state but at that time the object already got the cancelled state. so if not an equal object returns i get an error.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;but the solutions is to keep a list with every orderstate which kind of impossible&lt;/p&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Mon, 09 Jul 2012 20:34:02 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120709083402P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I am testing it for 3 days now. I've bumped my head to my desk several times because of this :) please help, I'm uploading my class which creates these queries.&lt;/p&gt;
&lt;p&gt;http://www.4shared.com/file/ce_V8PPh/MarketData.html&lt;/p&gt;
&lt;p&gt;Everything works fine until an OrderStatus gets a "Cancelled" state. I think it is because I filter the cancelled orders on top of the query. But how is this relevant I don't know. Anyway, the exception is:&lt;/p&gt;
&lt;p&gt;InvalidOperationException,&amp;nbsp;Added item does not appear at given index '0'.&lt;/p&gt;
&lt;p&gt;But this totally makes no sense since the item is already there.&lt;/p&gt;
&lt;p&gt;I'd be really glad if anyone can help me.&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Mon, 09 Jul 2012 14:15:02 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120709021502P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Allright I've somehow fixed that problem but now I got a new one :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Added item does not appear at given index '1'.&lt;/p&gt;
&lt;p&gt;It is a typical threading problem but I really dont know what can I do about it.&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;'Pulse.UI.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll'A first chance exception of type 'System.InvalidOperationException' occurred in PresentationFramework.dllSystem.Transactions Critical: 0 : &amp;lt;TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"&amp;gt;&amp;lt;TraceIdentifier&amp;gt;http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled&amp;lt;/TraceIdentifier&amp;gt;&amp;lt;Description&amp;gt;Unhandled exception&amp;lt;/Description&amp;gt;&amp;lt;AppDomain&amp;gt;Pulse.UI.vshost.exe&amp;lt;/AppDomain&amp;gt;&amp;lt;Exception&amp;gt;&amp;lt;ExceptionType&amp;gt;System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;lt;/ExceptionType&amp;gt;&amp;lt;Message&amp;gt;Added item does not appear at given index '1'.&amp;lt;/Message&amp;gt;&amp;lt;StackTrace&amp;gt; &amp;nbsp; at MS.Internal.Data.EnumerableCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)&amp;nbsp; &amp;nbsp;at System.Windows.Data.CollectionView.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NCToNCC.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.NotifyVpcTransformation`2.Notifier.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.TranslucentTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.UnorderedCascadeTransformation`2.BufferNodeCC.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.TranslucentTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.UnorderedNotifyVpcTransformation`2.Notifier.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Values.Transformations.PropertyTransformation`2.Buffer_PropertyChanged(Object sender, EventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.Values.Transformations.PropertyTransformation`2.npc_PropertyChanged(Object sender, PropertyChangedEventArgs e)&amp;nbsp; &amp;nbsp;at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)&amp;nbsp; &amp;nbsp;at GalaSoft.MvvmLight.ViewModelBase.RaisePropertyChanged(String propertyName) in D:\GalaSoft\mydotnet\GalaSoft MVVM Light Toolkit\Source\V3\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\ViewModelBase.cs:line 234&amp;nbsp; &amp;nbsp;at Pulse.UI.ViewModels.OrderStatusViewModel.set_State(OrderStateEnum value) in C:\Serkan\Pulse Project\Pulse.UI\ViewModels\OrderStatusViewModel.cs:line 236&amp;nbsp; &amp;nbsp;at Pulse.UI.ViewModels.OrderStatusViewModel.set_Status(OrderStatus value) in C:\Serkan\Pulse Project\Pulse.UI\ViewModels\OrderStatusViewModel.cs:line 80&amp;nbsp; &amp;nbsp;at Pulse.UI.Common.MarketData.&amp;amp;amp;lt;MessageHandler&amp;amp;amp;gt;b__a(OrderStatusViewModel vm, OrderStatus m) in C:\Serkan\Pulse Project\Pulse.UI\Common\MarketData.cs:line 219&amp;nbsp; &amp;nbsp;at Pulse.UI.Common.MarketData.&amp;amp;amp;lt;&amp;amp;amp;gt;c__DisplayClass20`2.&amp;amp;amp;lt;CollectionKeeper&amp;amp;amp;gt;b__1f() in C:\Serkan\Pulse Project\Pulse.UI\Common\MarketData.cs:line 333&amp;nbsp; &amp;nbsp;at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.InvokeImpl()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.runTryCode(Object userData)&amp;nbsp; &amp;nbsp;at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.Invoke()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.ProcessQueue()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp;amp;amp; handled)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp;amp;amp; handled)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)&amp;nbsp; &amp;nbsp;at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG&amp;amp;amp;amp; msg)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)&amp;nbsp; &amp;nbsp;at System.Windows.Application.RunDispatcher(Object ignore)&amp;nbsp; &amp;nbsp;at System.Windows.Application.RunInternal(Window window)&amp;nbsp; &amp;nbsp;at System.Windows.Application.Run(Window window)&amp;nbsp; &amp;nbsp;at System.Windows.Application.Run()&amp;nbsp; &amp;nbsp;at Pulse.UI.App.Main() in C:\Serkan\Pulse Project\Pulse.UI\obj\x86\Release\App.g.cs:line 0&amp;nbsp; &amp;nbsp;at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)&amp;nbsp; &amp;nbsp;at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&amp;nbsp; &amp;nbsp;at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart()&amp;lt;/StackTrace&amp;gt;&amp;lt;ExceptionString&amp;gt;System.InvalidOperationException: Added item does not appear at given index '1'.&amp;nbsp; &amp;nbsp;at MS.Internal.Data.EnumerableCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)&amp;nbsp; &amp;nbsp;at System.Windows.Data.CollectionView.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NCToNCC.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.NotifyVpcTransformation`2.Notifier.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.TranslucentTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.UnorderedCascadeTransformation`2.BufferNodeCC.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.TranslucentTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.UnorderedNotifyVpcTransformation`2.Notifier.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Values.Transformations.PropertyTransformation`2.Buffer_PropertyChanged(Object sender, EventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.Values.Transformations.PropertyTransformation`2.npc_PropertyChanged(Object sender, PropertyChangedEventArgs e)&amp;nbsp; &amp;nbsp;at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)&amp;nbsp; &amp;nbsp;at GalaSoft.MvvmLight.ViewModelBase.RaisePropertyChanged(String propertyName) in D:\GalaSoft\mydotnet\GalaSoft MVVM Light Toolkit\Source\V3\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\ViewModelBase.cs:line 234&amp;nbsp; &amp;nbsp;at Pulse.UI.ViewModels.OrderStatusViewModel.set_State(OrderStateEnum value) in C:\Serkan\Pulse Project\Pulse.UI\ViewModels\OrderStatusViewModel.cs:line 236&amp;nbsp; &amp;nbsp;at Pulse.UI.ViewModels.OrderStatusViewModel.set_Status(OrderStatus value) in C:\Serkan\Pulse Project\Pulse.UI\ViewModels\OrderStatusViewModel.cs:line 80&amp;nbsp; &amp;nbsp;at Pulse.UI.Common.MarketData.&amp;amp;amp;lt;MessageHandler&amp;amp;amp;gt;b__a(OrderStatusViewModel vm, OrderStatus m) in C:\Serkan\Pulse Project\Pulse.UI\Common\MarketData.cs:line 219&amp;nbsp; &amp;nbsp;at Pulse.UI.Common.MarketData.&amp;amp;amp;lt;&amp;amp;amp;gt;c__DisplayClass20`2.&amp;amp;amp;lt;CollectionKeeper&amp;amp;amp;gt;b__1f() in C:\Serkan\Pulse Project\Pulse.UI\Common\MarketData.cs:line 333&amp;nbsp; &amp;nbsp;at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.InvokeImpl()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.runTryCode(Object userData)&amp;nbsp; &amp;nbsp;at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.Invoke()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.ProcessQueue()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp;amp;amp; handled)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp;amp;amp; handled)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)&amp;nbsp; &amp;nbsp;at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG&amp;amp;amp;amp; msg)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)&amp;nbsp; &amp;nbsp;at System.Windows.Application.RunDispatcher(Object ignore)&amp;nbsp; &amp;nbsp;at System.Windows.Application.RunInternal(Window window)&amp;nbsp; &amp;nbsp;at System.Windows.Application.Run(Window window)&amp;nbsp; &amp;nbsp;at System.Windows.Application.Run()&amp;nbsp; &amp;nbsp;at Pulse.UI.App.Main() in C:\Serkan\Pulse Project\Pulse.UI\obj\x86\Release\App.g.cs:line 0&amp;nbsp; &amp;nbsp;at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)&amp;nbsp; &amp;nbsp;at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&amp;nbsp; &amp;nbsp;at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart()&amp;lt;/ExceptionString&amp;gt;&amp;lt;DataItems&amp;gt;&amp;lt;Data&amp;gt;&amp;lt;/Data&amp;gt;&amp;lt;/DataItems&amp;gt;&amp;lt;/Exception&amp;gt;&amp;lt;/TraceRecord&amp;gt;&lt;/p&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Fri, 06 Jul 2012 13:40:46 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120706014046P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;I don't know which property is changing to cause the entire collection to update but what strikes me is that you seem to use an outer&amp;nbsp;join between your grouped _orders and _quotes where you actually want to use an inner join.&lt;/p&gt;
&lt;p&gt;With an outer&amp;nbsp;join every group will need to be regarded when a relevant property of any _quote changes, as opposed to&amp;nbsp;an inner join where only the associated groups will be checked.&lt;/p&gt;
&lt;p&gt;Regs,&lt;/p&gt;
&lt;p&gt;Thomas.&lt;/p&gt;
&lt;/div&gt;</description><author>throb</author><pubDate>Fri, 06 Jul 2012 08:46:52 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120706084652A</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;
&lt;pre&gt;&lt;div style="color:black; background-color:white"&gt;&lt;pre&gt;        &lt;span style="color:blue"&gt;private&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; CreateQueries()
        {
            GridData =
                ExpressionObserver.Execute(() =&amp;gt;
                                               &lt;span style="color:blue"&gt;from&lt;/span&gt; o &lt;span style="color:blue"&gt;in&lt;/span&gt; _orders
                                               &lt;span style="color:blue"&gt;where&lt;/span&gt; o.State != OrderStateEnum.Canceled
                                               &lt;span style="color:blue"&gt;group&lt;/span&gt; o &lt;span style="color:blue"&gt;by&lt;/span&gt; o.Isin
                                               &lt;span style="color:blue"&gt;into&lt;/span&gt; g
                                               &lt;span style="color:blue"&gt;let&lt;/span&gt; germanSymbol = _referenceData.GetGermanSymbol(g.Key)
                                               &lt;span style="color:blue"&gt;let&lt;/span&gt; primarySymbol = _referenceData.GetPrimaryExchangeSymbol(g.Key)
                                               &lt;span style="color:blue"&gt;let&lt;/span&gt; name = _referenceData.GetInstrumentName(g.Key)
                                               &lt;span style="color:blue"&gt;orderby&lt;/span&gt; name &lt;span style="color:blue"&gt;ascending&lt;/span&gt;
                                               &lt;span style="color:blue"&gt;let&lt;/span&gt; primaryExchange = _referenceData.GetPrimaryExchangeId(g.Key)
                                               &lt;span style="color:blue"&gt;from&lt;/span&gt; q &lt;span style="color:blue"&gt;in&lt;/span&gt; _quotes
                                                   .Where(w =&amp;gt; w.Isin == g.Key &amp;amp;&amp;amp;
                                                               w.Exchange == primaryExchange &amp;amp;&amp;amp;
                                                               w.Provider == ProviderEnum.Bloomberg).DefaultIfEmpty(
                                                                   &lt;span style="color:blue"&gt;new&lt;/span&gt; QuoteTickViewModel())
                                               &lt;span style="color:blue"&gt;select&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; ComplexRowViewModel()
                                                          {
                                                              Isin = g.Key,
                                                              Name = name,
                                                              GermanSymbol = germanSymbol,
                                                              PrimarySymbol = primarySymbol,
                                                              PrimaryExchange = &lt;span style="color:blue"&gt;new&lt;/span&gt; SimpleRowViewModel()
                                                                                    {
                                                                                        Ask = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) q.Ask,
                                                                                        AskSize = q.AskSize,
                                                                                        Bid = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) q.Bid,
                                                                                        BidSize = q.BidSize,
                                                                                        Exchange = q.Exchange,
                                                                                        Isin = q.Isin,
                                                                                        Last = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) q.Last,
                                                                                        LastSize = q.LastSize,
                                                                                        LastTime = q.Time
                                                                                    },
                                                              Groupped =
                                                                  &lt;span style="color:blue"&gt;from&lt;/span&gt; qx &lt;span style="color:blue"&gt;in&lt;/span&gt;
                                                                      _quotes.Where(
                                                                          w =&amp;gt;
                                                                          w.Isin == g.Key &amp;amp;&amp;amp;
                                                                          w.Provider == ProviderEnum.Tradebase &amp;amp;&amp;amp;
                                                                          w.Exchange != primaryExchange)
                                                                  &lt;span style="color:blue"&gt;select&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; SimpleRowViewModel()
                                                                             {
                                                                                 Ask = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) qx.Ask,
                                                                                 AskSize = qx.AskSize,
                                                                                 Bid = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) qx.Bid,
                                                                                 BidSize = qx.BidSize,
                                                                                 Exchange = qx.Exchange,
                                                                                 Isin = qx.Isin,
                                                                                 Last = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) qx.Last,
                                                                                 LastSize = qx.LastSize,
                                                                                 LastTime = qx.Time
                                                                             }
                                                          }
                        ).Cascade();
        }
&lt;/pre&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/pre&gt;
&lt;pre&gt;As you see I got this query in my application. Top collection is &lt;strong&gt;orders &lt;/strong&gt;which is almost static, but the nested &lt;strong&gt;Groupped &lt;/strong&gt;collection is keeps getting updated. But insted of just updating the related properties, whole list getting recreated every update.&lt;/pre&gt;
&lt;pre&gt;&lt;br&gt;&lt;/pre&gt;
&lt;pre&gt;I was wondering if there is a solution for this ?&lt;/pre&gt;
&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Thu, 05 Jul 2012 13:37:29 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120705013729P</guid></item><item><title>New Post: InvalidOperationException when removing items</title><link>http://obtics.codeplex.com/discussions/360575</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Many thanks, that did it.&lt;/p&gt;&lt;/div&gt;</description><author>steff79</author><pubDate>Tue, 26 Jun 2012 18:10:14 GMT</pubDate><guid isPermaLink="false">New Post: InvalidOperationException when removing items 20120626061014P</guid></item><item><title>New Post: InvalidOperationException when removing items</title><link>http://obtics.codeplex.com/discussions/360575</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Problem is that Select(modelItems, s =&amp;gt; CreateViewModel(s)) uses the lambda expression both for adding and removing items. So; CreateViewModel(s) gets called when an item is added and when an item is removed. Now; if CreateViewModel(s) does not return an&amp;nbsp;equal object every time it gets called with the same s then it means that a different object will be removed than was originaly added -&amp;gt; error.&lt;/p&gt;
&lt;p&gt;You should create a method GetViewModel(s) instead of CreateViewModel(s), like:&lt;/p&gt;
&lt;div style="color: black; background-color: white;"&gt;
&lt;pre&gt;TvdP.Collections.WeakValueDictionary&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;,ItemViewModel&amp;gt; _registry = &lt;span style="color: blue;"&gt;new&lt;/span&gt; TvdP.Collections.WeakValueDictionary&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;,ItemViewModel&amp;gt;()

&lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; ItemViewModel GetViewModel(&lt;span style="color: blue;"&gt;string&lt;/span&gt; s)
        {
            &lt;span style="color: green;"&gt;//this MUST be called in the UI thread because I access some thread-affine objects in my real application.&lt;/span&gt;
            &lt;span style="color: blue;"&gt;return&lt;/span&gt; _registry.GetOrAdd(s, s2 =&amp;gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; ItemViewModel {Text = s2});
        }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description><author>Throb</author><pubDate>Mon, 25 Jun 2012 23:17:51 GMT</pubDate><guid isPermaLink="false">New Post: InvalidOperationException when removing items 20120625111751P</guid></item><item><title>New Post: InvalidOperationException when removing items</title><link>http://obtics.codeplex.com/discussions/360575</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have a scenario with a ListBox bound to a collection of ViewModels. This collection is actually a Obtics expression that binds further to a model. The model is changed by a background thread, so I use the WorkQueueOnDispatcherProvider to make sure the
 viewmodels are updated on the UI thread.&lt;/p&gt;
&lt;p&gt;Adding items works perfectly fine, but removing them throws an InvalidOperationException in the ListBox (with strange message &amp;quot;Added item does not appear at given index&amp;quot;).&lt;/p&gt;
&lt;p&gt;I have no idea what I am doing wrong. Please help me.&lt;/p&gt;
&lt;p&gt;I created a minimal example to reproduce the behaviour:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;internal class MainViewModel&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private readonly Model dummyModel;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //for binding to a ListBox&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public IEnumerable&amp;lt;ItemViewModel&amp;gt; ItemCollection { get; private set; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public MainViewModel()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummyModel = new Model {Items = new ObservableCollection&amp;lt;string&amp;gt;()};&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummyModel.Items.Add(&amp;quot;hello&amp;quot;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummyModel.Items.Add(&amp;quot;world&amp;quot;);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IValueProvider&amp;lt;IEnumerable&amp;lt;string&amp;gt;&amp;gt; valueProvider =&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExpressionObserver.Execute(() =&amp;gt; Enumerable.Select(dummyModel.Items, s =&amp;gt; s));&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //from what I figured out, I have to call Async() before I create the final ItemCollection expression so that&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CreateViewModel() is called in the UI thread.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumerable&amp;lt;string&amp;gt; modelItems =&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; valueProvider.Cascade().Async(new WorkQueueOnDispatcherProvider().GetWorkQueue());&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ItemCollection =&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExpressionObserver.Execute(() =&amp;gt; Enumerable.Select(modelItems, s =&amp;gt; CreateViewModel(s))).Cascade();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static ItemViewModel CreateViewModel(string s)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this MUST be called in the UI thread because I access some thread-affine objects in my real application.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new ItemViewModel {Text = s};&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void StartOperation()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Task.Factory.StartNew(&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; () =&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.Sleep(1000);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummyModel.Items.RemoveAt(1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dummyModel.Items.Add(&amp;quot;hello&amp;quot;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; internal class ItemViewModel&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Text { get; set; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; internal class Model&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ObservableCollection&amp;lt;string&amp;gt; Items { get; set; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;And the necessary XAML part:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;lt;Window.Resources&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ResourceDictionary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;WpfApplication1:MainViewModel x:Key=&amp;quot;myMainViewModel&amp;quot;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/WpfApplication1:MainViewModel&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ResourceDictionary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Window.Resources&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StackPanel DataContext=&amp;quot;{StaticResource ResourceKey=myMainViewModel}&amp;quot;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Click=&amp;quot;Clicked&amp;quot;&amp;gt;Start Remove&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ListBox ItemsSource=&amp;quot;{Binding Path=ItemCollection}&amp;quot;&amp;gt;&amp;lt;/ListBox&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/StackPanel&amp;gt;&lt;/p&gt;
&lt;/div&gt;</description><author>steff79</author><pubDate>Fri, 22 Jun 2012 09:16:03 GMT</pubDate><guid isPermaLink="false">New Post: InvalidOperationException when removing items 20120622091603A</guid></item><item><title>Source code checked in, #67974</title><link>http://obtics.codeplex.com/SourceControl/changeset/changes/67974</link><description>ValueProvider methods now always return concrete objects. Obtics.BindingHelper.Concrete&amp;#40;&amp;#41; method for IValueProviders in the BindingHelper library is now obsolete. &amp;#13;&amp;#10;WindowsBase dependencies moved to seperate library for non-silverlight build &amp;#40;ObticsWindowsBaseExtensions&amp;#41;. &amp;#13;&amp;#10;Value transformations &amp;#40;not collection transformations&amp;#41; postpone public change notifications untill all internal work has finished. &amp;#13;&amp;#10;Include fixed ConcurrentHashtable library.</description><author>Throb</author><pubDate>Sun, 10 Jun 2012 22:16:28 GMT</pubDate><guid isPermaLink="false">Source code checked in, #67974 20120610101628P</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I'm sorry for the late answer.&lt;/p&gt;
&lt;p&gt;My Project is not entirely unit-testable. But I can say that it's just an observablecollection for items with inotifypropertchanged interface.&lt;/p&gt;
&lt;p&gt;There are some nullable properties in items, I wanted to check them but right now I don't have time for that, I needed quick solutions and workarounds :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="-chrome-auto-translate-plugin-dialog" style="display: none; opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; background-position: initial initial !important; background-repeat: initial initial !important; padding: 0px !important; margin: 0px !important;"&gt;
&lt;div style="max-width: 300px !important; color: #fafafa !important; opacity: 0.8 !important; border-color: #000000 !important; border-width: 0px !important; background-color: #363636 !important; font-size: 16px !important; padding: 8px !important; overflow: visible !important; background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #000), color-stop(50%, #363636), color-stop(100%, #000)); z-index: 999999 !important; text-align: left  !important;"&gt;&lt;/div&gt;
&lt;img style="z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; border-top-left-radius: 20px 20px; border-top-right-radius: 20px 20px; border-bottom-right-radius: 20px 20px; border-bottom-left-radius: 20px 20px; background-color: rgba(200, 200, 200, 0.296875) !important; padding-top: 3px !important; padding-right: 5px !important; padding-bottom: 0px !important; padding-left: 5px !important; margin: 0px !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /&gt;&lt;/div&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Wed, 14 Dec 2011 15:44:04 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111214034404P</guid></item><item><title>New Post: Strange behavior</title><link>http://obtics.codeplex.com/discussions/279488</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Vincent,&lt;/p&gt;
&lt;p&gt;Haven't found the time yet to find out what is going on.&lt;/p&gt;
&lt;p&gt;I hope to have an answer for you soon,&lt;/p&gt;
&lt;p&gt;Regs&lt;/p&gt;
&lt;p&gt;Thomas.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>throb</author><pubDate>Thu, 08 Dec 2011 23:58:50 GMT</pubDate><guid isPermaLink="false">New Post: Strange behavior 20111208115850P</guid></item><item><title>New Post: Strange behavior</title><link>http://obtics.codeplex.com/discussions/279488</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Throb,&lt;/p&gt;
&lt;p&gt;Have you an idea about my issue ?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Vincent&lt;/p&gt;&lt;/div&gt;</description><author>vbouzon</author><pubDate>Wed, 07 Dec 2011 21:29:56 GMT</pubDate><guid isPermaLink="false">New Post: Strange behavior 20111207092956P</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Good that you found a solution. 'join into' syntax should work though but there may always be a bug.&lt;/p&gt;
&lt;p&gt;Could you create a unit test that isolates your problem?&lt;/p&gt;
&lt;p&gt;Regs,&lt;/p&gt;
&lt;p&gt;Thomas.&lt;/p&gt;&lt;/div&gt;</description><author>throb</author><pubDate>Tue, 06 Dec 2011 18:57:12 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111206065712P</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Sorry it was my Linq Expression. It should have been like this.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;div style="color: black; background-color: white;"&gt;
&lt;pre&gt;           &lt;span style="color: blue;"&gt;var&lt;/span&gt; query = ExpressionObserver.Execute(() =&amp;gt;
                                                  &lt;span style="color: blue;"&gt;from&lt;/span&gt; q &lt;span style="color: blue;"&gt;in&lt;/span&gt; _quotes.Where(p =&amp;gt; p.Provider == ProviderEnum.Bloomberg)
                                                  &lt;span style="color: blue;"&gt;from&lt;/span&gt; qp &lt;span style="color: blue;"&gt;in&lt;/span&gt;
                                                      _currencies.Where(
                                                          j =&amp;gt; j.Isin == q.Isin &amp;amp;&amp;amp; j.Exchange == q.Exchange &amp;amp;&amp;amp; j.Provider == ProviderEnum.Tradebase)
                                                      .DefaultIfEmpty(&lt;span style="color: blue;"&gt;new&lt;/span&gt; QuoteTickViewModel())
                                                  &lt;span style="color: blue;"&gt;select&lt;/span&gt;
                                                      &lt;span style="color: blue;"&gt;new&lt;/span&gt;
                                                          {
                                                              IsinB = q.Isin,
                                                              IsinT = qp.Isin,
                                                              ExchangeB = q.Exchange,
                                                              ExchangeT = qp.Exchange,
                                                              PriceB = q.Last,
                                                              PriceT = qp.Last,
                                                              ProviderB = q.Provider,
                                                              ProviderT = qp.Provider
                                                          }
               ).Cascade();&lt;/pre&gt;
&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;pre&gt;If I try it with a normal LINQ/SQL-Like syntax (join into) then it does not function.&lt;/pre&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;div id="-chrome-auto-translate-plugin-dialog" style="opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; display: none; background-position: initial initial !important; background-repeat: initial initial !important; padding: 0px !important; margin: 0px !important;"&gt;
&lt;div style="max-width: 300px !important; color: #fafafa !important; opacity: 0.8 !important; border-color: #000000 !important; border-width: 0px !important; background-color: #363636 !important; font-size: 16px !important; padding: 8px !important; overflow: visible !important; background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #000), color-stop(50%, #363636), color-stop(100%, #000)); z-index: 999999 !important; text-align: left  !important;"&gt;&lt;/div&gt;
&lt;img style="z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; border-top-left-radius: 20px 20px; border-top-right-radius: 20px 20px; border-bottom-right-radius: 20px 20px; border-bottom-left-radius: 20px 20px; background-color: rgba(200, 200, 200, 0.296875) !important; padding-top: 3px !important; padding-right: 5px !important; padding-bottom: 0px !important; padding-left: 5px !important; margin: 0px !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /&gt;&lt;/div&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Tue, 06 Dec 2011 10:13:06 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111206101306A</guid></item></channel></rss>