<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Atomic Blography</title>
	<atom:link href="http://karlhulme.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://karlhulme.wordpress.com</link>
	<description>By Karl Hulme</description>
	<lastBuildDate>Mon, 25 Jun 2007 16:28:02 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on SynchronizedObservableCollection and BindableCollection by Patrick Waters</title>
		<link>http://karlhulme.wordpress.com/2007/03/04/synchronizedobservablecollection-and-bindablecollection/#comment-852</link>
		<dc:creator>Patrick Waters</dc:creator>
		<pubDate>Mon, 25 Jun 2007 16:28:02 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/03/04/synchronizedobservablecollection-and-bindablecollection/#comment-852</guid>
		<description>oops.  I typed a fake left arrow, &lt;--, to mark the line on the top of the stack and it seemed to snip off the rest of my comment.

I was hoping you&#039;d have some insight as to how i am misusing your classes to cause them to deadlock like this?</description>
		<content:encoded><![CDATA[<p>oops.  I typed a fake left arrow, &lt;&#8211;, to mark the line on the top of the stack and it seemed to snip off the rest of my comment.</p>
<p>I was hoping you&#8217;d have some insight as to how i am misusing your classes to cause them to deadlock like this?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SynchronizedObservableCollection and BindableCollection by Patrick Waters</title>
		<link>http://karlhulme.wordpress.com/2007/03/04/synchronizedobservablecollection-and-bindablecollection/#comment-850</link>
		<dc:creator>Patrick Waters</dc:creator>
		<pubDate>Mon, 25 Jun 2007 16:26:13 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/03/04/synchronizedobservablecollection-and-bindablecollection/#comment-850</guid>
		<description>I tried to use these classes in my application where there are two threads accessing the collections.  One from a network updating object state and the other from the UI thread, manipulating the same collections.

I keep finding my app getting stuck, (not responding to input) and if i break in visual studio, it&#039;s here:

private void RaiseCollectionChangedEvent(NotifyCollectionChangedEventArgs e)
{
    if (CollectionChanged != null)
    {
        CollectionChanged(this, e); // </description>
		<content:encoded><![CDATA[<p>I tried to use these classes in my application where there are two threads accessing the collections.  One from a network updating object state and the other from the UI thread, manipulating the same collections.</p>
<p>I keep finding my app getting stuck, (not responding to input) and if i break in visual studio, it&#8217;s here:</p>
<p>private void RaiseCollectionChangedEvent(NotifyCollectionChangedEventArgs e)<br />
{<br />
    if (CollectionChanged != null)<br />
    {<br />
        CollectionChanged(this, e); //</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Masking input to a WPF TextBox by R2</title>
		<link>http://karlhulme.wordpress.com/2007/02/15/masking-input-to-a-wpf-textbox/#comment-765</link>
		<dc:creator>R2</dc:creator>
		<pubDate>Wed, 20 Jun 2007 05:35:02 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/02/15/masking-input-to-a-wpf-textbox/#comment-765</guid>
		<description>Gents,

I&#039;m looking for a way to implement the old input mask concept to corale the user into inputting a certain format string. ( nnn-nnn-nnnn for example). Any ideas?</description>
		<content:encoded><![CDATA[<p>Gents,</p>
<p>I&#8217;m looking for a way to implement the old input mask concept to corale the user into inputting a certain format string. ( nnn-nnn-nnnn for example). Any ideas?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SynchronizedObservableCollection and BindableCollection by Karl Hulme</title>
		<link>http://karlhulme.wordpress.com/2007/03/04/synchronizedobservablecollection-and-bindablecollection/#comment-540</link>
		<dc:creator>Karl Hulme</dc:creator>
		<pubDate>Fri, 01 Jun 2007 10:08:49 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/03/04/synchronizedobservablecollection-and-bindablecollection/#comment-540</guid>
		<description>Hi Pat,

So you&#039;re saying that with a virtualizing panel, once a replaced item has scrolled out of view, it then doesn&#039;t display properly when scrolled back into view?  Is that right?
How/where are the templates defined? - presumably you have one for the bogus object and one for the real one.  
Also, I&#039;m not clear on what the end result should be.  You can set an ObjectDataProvider to load a collection aynchronously, but I gather you want to load specific items on demand, but with only an ID for each item how can the user determine which one they want loaded - and if they&#039;re all in a StackPanel how does the user signal which one to load.  I&#039;m sorry but I&#039;m a bit confused!!</description>
		<content:encoded><![CDATA[<p>Hi Pat,</p>
<p>So you&#8217;re saying that with a virtualizing panel, once a replaced item has scrolled out of view, it then doesn&#8217;t display properly when scrolled back into view?  Is that right?<br />
How/where are the templates defined? &#8211; presumably you have one for the bogus object and one for the real one.<br />
Also, I&#8217;m not clear on what the end result should be.  You can set an ObjectDataProvider to load a collection aynchronously, but I gather you want to load specific items on demand, but with only an ID for each item how can the user determine which one they want loaded &#8211; and if they&#8217;re all in a StackPanel how does the user signal which one to load.  I&#8217;m sorry but I&#8217;m a bit confused!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Masking input to a WPF TextBox by james</title>
		<link>http://karlhulme.wordpress.com/2007/02/15/masking-input-to-a-wpf-textbox/#comment-486</link>
		<dc:creator>james</dc:creator>
		<pubDate>Sun, 27 May 2007 23:57:21 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/02/15/masking-input-to-a-wpf-textbox/#comment-486</guid>
		<description>Yes that makes the best sense, plus then it could be done declaritively in xaml :) Thanks for the tip!</description>
		<content:encoded><![CDATA[<p>Yes that makes the best sense, plus then it could be done declaritively in xaml <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Thanks for the tip!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Masking input to a WPF TextBox by Karl Hulme</title>
		<link>http://karlhulme.wordpress.com/2007/02/15/masking-input-to-a-wpf-textbox/#comment-456</link>
		<dc:creator>Karl Hulme</dc:creator>
		<pubDate>Thu, 24 May 2007 08:00:16 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/02/15/masking-input-to-a-wpf-textbox/#comment-456</guid>
		<description>Hi James,

I editted your 3 comments down to a single comment - I hope that&#039;s OK.  You&#039;re right, Wordpress doesn&#039;t seem to cope with a &lt; sign!  I entered this as &amp;-l-t-; to get it to appear properly.

I see that you have a requirement that I didn&#039;t anticipate, and yes the code in it&#039;s current state doesn&#039;t satisfy it.  However I think that the IsTextAllowed method should be wholly responsible for determining if the text is allowed.  My feeling is that your version spreads this logic across the IsTextAllowed method and also puts it in the TextCompositionEventArgs - do you agree?  My suggestion (and I reserve the right to be horribly wrong!) is to extend the IsTextAllowed method so that it gets passed enough information to make the decision.  In this case that appears to be the TextBox itself, or perhaps a new class that encapsulates the current text, selected text, etc.

private Boolean IsTextAllowed(TextBox textBox, inputText string) or better
private Boolean IsTextAllowed(TextInputData tid, String inputText)

TextInputData would have to be defined.  We could also consider using the Strategy pattern.  So refactor the IsTextAllowed method into an ITextAllowed interface, and pass an object that implements that interface to the TextBox sometime after creation.  You could then implement that interface in a TenDigitsOrLess class.  It would save us endlessly subclassing TextBox.

I hope that all makes sense.  Good luck anyway, and thanks for your feedback.</description>
		<content:encoded><![CDATA[<p>Hi James,</p>
<p>I editted your 3 comments down to a single comment &#8211; I hope that&#8217;s OK.  You&#8217;re right, WordPress doesn&#8217;t seem to cope with a &lt; sign!  I entered this as &amp;-l-t-; to get it to appear properly.</p>
<p>I see that you have a requirement that I didn&#8217;t anticipate, and yes the code in it&#8217;s current state doesn&#8217;t satisfy it.  However I think that the IsTextAllowed method should be wholly responsible for determining if the text is allowed.  My feeling is that your version spreads this logic across the IsTextAllowed method and also puts it in the TextCompositionEventArgs &#8211; do you agree?  My suggestion (and I reserve the right to be horribly wrong!) is to extend the IsTextAllowed method so that it gets passed enough information to make the decision.  In this case that appears to be the TextBox itself, or perhaps a new class that encapsulates the current text, selected text, etc.</p>
<p>private Boolean IsTextAllowed(TextBox textBox, inputText string) or better<br />
private Boolean IsTextAllowed(TextInputData tid, String inputText)</p>
<p>TextInputData would have to be defined.  We could also consider using the Strategy pattern.  So refactor the IsTextAllowed method into an ITextAllowed interface, and pass an object that implements that interface to the TextBox sometime after creation.  You could then implement that interface in a TenDigitsOrLess class.  It would save us endlessly subclassing TextBox.</p>
<p>I hope that all makes sense.  Good luck anyway, and thanks for your feedback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Masking input to a WPF TextBox by james peckham</title>
		<link>http://karlhulme.wordpress.com/2007/02/15/masking-input-to-a-wpf-textbox/#comment-450</link>
		<dc:creator>james peckham</dc:creator>
		<pubDate>Wed, 23 May 2007 17:36:41 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/02/15/masking-input-to-a-wpf-textbox/#comment-450</guid>
		<description>i was using this to control length of a string, noticed a behavior when highlighted text wouldn&#039;t overwrite ... here&#039;s a fix for that. Hope it&#039;s not too &#039;hack&#039; for you.
   protected override void OnTextInput(System.Windows.Input.TextCompositionEventArgs e)
   {
     e.Handled = !(IsTextAllowed(e.Text) &amp;&amp; (this.Text.Length + e.Text.Length - this.SelectedText.Length) &lt;= 10);
     base.OnTextInput(e);
   }</description>
		<content:encoded><![CDATA[<p>i was using this to control length of a string, noticed a behavior when highlighted text wouldn&#8217;t overwrite &#8230; here&#8217;s a fix for that. Hope it&#8217;s not too &#8216;hack&#8217; for you.<br />
   protected override void OnTextInput(System.Windows.Input.TextCompositionEventArgs e)<br />
   {<br />
     e.Handled = !(IsTextAllowed(e.Text) &amp;&amp; (this.Text.Length + e.Text.Length &#8211; this.SelectedText.Length) &lt;= 10);<br />
     base.OnTextInput(e);<br />
   }</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SynchronizedObservableCollection and BindableCollection by pat</title>
		<link>http://karlhulme.wordpress.com/2007/03/04/synchronizedobservablecollection-and-bindablecollection/#comment-441</link>
		<dc:creator>pat</dc:creator>
		<pubDate>Wed, 23 May 2007 00:36:49 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/03/04/synchronizedobservablecollection-and-bindablecollection/#comment-441</guid>
		<description>hi, 

I have a problem that I was hoping to solve with your class but I am still having the same issue.

Basically,  I am writing my own observable list that represent a remote collection (located on some server on the net).  All I have at time of creation is a list of ID and no data.

I am keeping a list of integer (my ids) and the count method return the number of ids.  I am using the items collection for the downloaded object.

When the listbox access an item via the operator [] I insert return a bogus object in the collection and I return it, then I spawn a thread and go download the data from the server.  When the data is retrieved, I replace the bogus data in the items collection with the downloaded data.  This triggers a replace event.

The listbox, when use with a VirtualizeStackPanel or any other virtualize panel (I wrote some), will replace the data fine until it removes data that is no longer visible.  After that, I don&#039;t always the update to work!  This is really frustrating!

Hope you have any idea.</description>
		<content:encoded><![CDATA[<p>hi, </p>
<p>I have a problem that I was hoping to solve with your class but I am still having the same issue.</p>
<p>Basically,  I am writing my own observable list that represent a remote collection (located on some server on the net).  All I have at time of creation is a list of ID and no data.</p>
<p>I am keeping a list of integer (my ids) and the count method return the number of ids.  I am using the items collection for the downloaded object.</p>
<p>When the listbox access an item via the operator [] I insert return a bogus object in the collection and I return it, then I spawn a thread and go download the data from the server.  When the data is retrieved, I replace the bogus data in the items collection with the downloaded data.  This triggers a replace event.</p>
<p>The listbox, when use with a VirtualizeStackPanel or any other virtualize panel (I wrote some), will replace the data fine until it removes data that is no longer visible.  After that, I don&#8217;t always the update to work!  This is really frustrating!</p>
<p>Hope you have any idea.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Pasting Code into Blog Entries using Windows Live Writer by Karl Hulme</title>
		<link>http://karlhulme.wordpress.com/2007/04/01/pasting-code-into-blog-entries-using-windows-live-writer/#comment-148</link>
		<dc:creator>Karl Hulme</dc:creator>
		<pubDate>Thu, 19 Apr 2007 07:45:17 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/04/01/pasting-code-into-blog-entries-using-windows-live-writer/#comment-148</guid>
		<description>Hi Jeff C, 

I found the color scheme on Brad Wilson&#039;s blog, specifically the following post http://www.agileprogrammer.com/dotnetguy/archive/2006/09/07/19030.aspx

The one I use is DarkConsolas, but there’s also a DarkMonaco up for grabs.</description>
		<content:encoded><![CDATA[<p>Hi Jeff C, </p>
<p>I found the color scheme on Brad Wilson&#8217;s blog, specifically the following post <a href="http://www.agileprogrammer.com/dotnetguy/archive/2006/09/07/19030.aspx" rel="nofollow">http://www.agileprogrammer.com/dotnetguy/archive/2006/09/07/19030.aspx</a></p>
<p>The one I use is DarkConsolas, but there’s also a DarkMonaco up for grabs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Pasting Code into Blog Entries using Windows Live Writer by Jeff C</title>
		<link>http://karlhulme.wordpress.com/2007/04/01/pasting-code-into-blog-entries-using-windows-live-writer/#comment-130</link>
		<dc:creator>Jeff C</dc:creator>
		<pubDate>Tue, 17 Apr 2007 16:39:38 +0000</pubDate>
		<guid isPermaLink="false">http://karlhulme.wordpress.com/2007/04/01/pasting-code-into-blog-entries-using-windows-live-writer/#comment-130</guid>
		<description>Hi,

Sorry to change the subject slightly but your IDE color scheme is amazing! Any chance of sharing it?

Thanks</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Sorry to change the subject slightly but your IDE color scheme is amazing! Any chance of sharing it?</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
</channel>
</rss>
