<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Enlighten-Media</title>
	<atom:link href="http://enlighten-media.net/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://enlighten-media.net/blog</link>
	<description>Creating Innovative Solutions</description>
	<lastBuildDate>Tue, 15 May 2012 21:08:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>C# Bindable Dictionary</title>
		<link>http://enlighten-media.net/blog/csharp-development/csharp-bindable-dictionary</link>
		<comments>http://enlighten-media.net/blog/csharp-development/csharp-bindable-dictionary#comments</comments>
		<pubDate>Tue, 15 May 2012 20:59:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C# Development]]></category>

		<guid isPermaLink="false">http://enlighten-media.net/blog/?p=20</guid>
		<description><![CDATA[I came across this BindableDictionary at StackOverflow and I thought I would improve on it and here is the result: BindableDictionary.cs raw download public class BindableDictionary : IDictionary, IBindingList, IRaiseItemChangedEvents { public SortedList _Source = null;   private ListChangedEventHandler listChanged; &#8230; <a href="http://enlighten-media.net/blog/csharp-development/csharp-bindable-dictionary">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I came across this <a href="http://stackoverflow.com/questions/3426319/c-access-customsubdictionarytkey-tvalue-through-customdictionarytkey-tvalue">BindableDictionary</a> at StackOverflow and I thought I would improve on it and here is the result:</p>

<div class="wp_syntax">
<div class="wp_syntax_download">
<div class="wp_syntax_download_filename"><a name="file-BindableDictionary.cs" href="#file-BindableDictionary.cs" title="BindableDictionary.cs">BindableDictionary.cs</a></div>
<div class="wp_syntax_download_actions">
<a href="http://enlighten-media.net/blog/wp-content/plugins/wp-syntax-download-extension/wp-syntax-download-extension.php/20/BindableDictionary.cs">raw</a> <a href="http://enlighten-media.net/blog/wp-content/plugins/wp-syntax-download-extension/wp-syntax-download-extension.php/20/download/BindableDictionary.cs">download</a>
</div>
</div>
<div class="code"><pre class="csharp" style="font-family:monospace;">    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> BindableDictionary <span style="color: #008000;">:</span> IDictionary, IBindingList, IRaiseItemChangedEvents
    <span style="color: #008000;">{</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> SortedList _Source <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
 
        <span style="color: #0600FF; font-weight: bold;">private</span> ListChangedEventHandler listChanged<span style="color: #008000;">;</span>
 
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">bool</span> raiseItemChangedEvents <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">bool</span> raiseListChangedEvents <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
 
        <span style="color: #008000;">[</span>NonSerialized<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">]</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> PropertyDescriptorCollection itemTypeProperties <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
 
        <span style="color: #008000;">[</span>NonSerialized<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">]</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> PropertyChangedEventHandler propertyChangedEventHandler <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
 
        <span style="color: #008000;">[</span>NonSerialized<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">]</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">int</span> lastChangeIndex <span style="color: #008000;">=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
 
        <span style="color: #008080;">#region Properties</span>
        <span style="color: #008080;">#region IBindingList</span>
        <span style="color: #008080; font-style: italic;">//Gets whether you can update items in the list.</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">AllowEdit</span>
        <span style="color: #008000;">{</span>
            get
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets whether you can add items to the list using AddNew.</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">AllowNew</span>
        <span style="color: #008000;">{</span>
            get
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets whether you can remove items from the list, using Remove or RemoveAt.</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">AllowRemove</span>
        <span style="color: #008000;">{</span>
            get
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets a value indicating whether the IList has a fixed size. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsFixedSize</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets a value indicating whether the IList is read-only. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsReadOnly</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets whether the items in the list are sorted.</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">IsSorted</span>
        <span style="color: #008000;">{</span>
            get
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from ICollection.)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> ICollection<span style="color: #008000;">.</span><span style="color: #0000FF;">IsSynchronized</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets or sets the element at the specified index. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">object</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">[</span><span style="color: #6666cc; font-weight: bold;">int</span> index<span style="color: #008000;">]</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">[</span>_Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Keys</span><span style="color: #008000;">[</span>index<span style="color: #008000;">]</span><span style="color: #008000;">]</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
            set <span style="color: #008000;">{</span> _Source<span style="color: #008000;">[</span>_Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Keys</span><span style="color: #008000;">[</span>index<span style="color: #008000;">]</span><span style="color: #008000;">]</span> <span style="color: #008000;">=</span> <span style="color: #008000;">(</span>TValue<span style="color: #008000;">)</span>value<span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets the direction of the sort.</span>
        ListSortDirection IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">SortDirection</span>
        <span style="color: #008000;">{</span>
            get
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> ListSortDirection<span style="color: #008000;">.</span><span style="color: #0000FF;">Ascending</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets the PropertyDescriptor that is being used for sorting.</span>
        PropertyDescriptor IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">SortProperty</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets whether a ListChanged event is raised when the list changes or an item in the list changes.</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">SupportsChangeNotification</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets whether the list supports searching using the Find method.</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">SupportsSearching</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets whether the list supports sorting.</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">SupportsSorting</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets an object that can be used to synchronize access to the ICollection. (Inherited from ICollection.)</span>
        <span style="color: #6666cc; font-weight: bold;">object</span> ICollection<span style="color: #008000;">.</span><span style="color: #0000FF;">SyncRoot</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080;">#region IDictionary</span>
        <span style="color: #008080; font-style: italic;">//Gets a value indicating whether the ICollection)&amp;gt;) is read-only. (Inherited from ICollection)&amp;gt;).)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;.</span><span style="color: #0000FF;">IsReadOnly</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">(</span><span style="color: #008000;">(</span>ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;</span><span style="color: #008000;">)</span>_Source<span style="color: #008000;">)</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsReadOnly</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets or sets the element with the specified key.</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> TValue <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">[</span>TKey key<span style="color: #008000;">]</span>
        <span style="color: #008000;">{</span>
            get
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">[</span>key<span style="color: #008000;">]</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
            set
            <span style="color: #008000;">{</span>
                <span style="color: #6666cc; font-weight: bold;">bool</span> bAdded <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>_Source<span style="color: #008000;">.</span><span style="color: #0000FF;">ContainsKey</span><span style="color: #008000;">(</span>key<span style="color: #008000;">)</span><span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    bAdded <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">}</span>
                _Source<span style="color: #008000;">[</span>key<span style="color: #008000;">]</span> <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>bAdded<span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseItemChangedEvents</span><span style="color: #008000;">)</span>
                    <span style="color: #008000;">{</span>
                        HookPropertyChanged<span style="color: #008000;">(</span>value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                        OnListChanged<span style="color: #008000;">(</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">(</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemAdded</span>, _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfKey</span><span style="color: #008000;">(</span>key<span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">}</span>
                <span style="color: #008000;">}</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets an ICollection)&amp;gt;) containing the keys of the IDictionary)&amp;gt;).</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> ICollection Keys
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Keys</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets an ICollection)&amp;gt;) containing the values in the IDictionary)&amp;gt;).</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> ICollection Values
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Values</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080; font-style: italic;">//Gets the number of elements contained in the ICollection. (Inherited from ICollection.)</span>
        <span style="color: #008080; font-style: italic;">//Gets the number of elements contained in the ICollection)&amp;gt;). (Inherited from ICollection)&amp;gt;).)</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">int</span> Count
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080;">#region Methods</span>
        <span style="color: #008080;">#region IBindingList</span>
        <span style="color: #008080; font-style: italic;">//Add function not implemented use other Add function instead</span>
        <span style="color: #008080; font-style: italic;">//Adds an item to the IList. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">(</span><span style="color: #6666cc; font-weight: bold;">object</span> value<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> NotImplementedException<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Adds the PropertyDescriptor to the indexes used for searching.</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">AddIndex</span><span style="color: #008000;">(</span>PropertyDescriptor property<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Adds a new item to the list.</span>
        <span style="color: #6666cc; font-weight: bold;">object</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">AddNew</span><span style="color: #008000;">(</span><span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Sorts the list based on a PropertyDescriptor and a ListSortDirection.</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">ApplySort</span><span style="color: #008000;">(</span>PropertyDescriptor property, ListSortDirection direction<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Determines whether the IList contains a specific value. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">(</span><span style="color: #6666cc; font-weight: bold;">object</span> value<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>value <span style="color: #008000;">is</span> TKey<span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">ContainsKey</span><span style="color: #008000;">(</span><span style="color: #008000;">(</span>TKey<span style="color: #008000;">)</span>value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
            <span style="color: #0600FF; font-weight: bold;">else</span> <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>value <span style="color: #008000;">is</span> TValue<span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">ContainsValue</span><span style="color: #008000;">(</span><span style="color: #008000;">(</span>TValue<span style="color: #008000;">)</span>value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Copies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from ICollection.)</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> ICollection<span style="color: #008000;">.</span><span style="color: #0000FF;">CopyTo</span><span style="color: #008000;">(</span>Array array, <span style="color: #6666cc; font-weight: bold;">int</span> arrayIndex<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #008000;">(</span><span style="color: #008000;">(</span>ICollection<span style="color: #008000;">)</span>_Source<span style="color: #008000;">)</span><span style="color: #008000;">.</span><span style="color: #0000FF;">CopyTo</span><span style="color: #008000;">(</span>array, arrayIndex<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Returns the index of the row that has the given PropertyDescriptor.</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">Find</span><span style="color: #008000;">(</span>PropertyDescriptor property, <span style="color: #6666cc; font-weight: bold;">object</span> key<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> NotImplementedException<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.)</span>
        <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IEnumerator</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IEnumerable</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetEnumerator</span><span style="color: #008000;">(</span><span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> GetEnumerator<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Determines the index of a specific item in the IList. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOf</span><span style="color: #008000;">(</span><span style="color: #6666cc; font-weight: bold;">object</span> value<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
 
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>value <span style="color: #008000;">is</span> TKey<span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfKey</span><span style="color: #008000;">(</span><span style="color: #008000;">(</span>TKey<span style="color: #008000;">)</span>value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
            <span style="color: #0600FF; font-weight: bold;">else</span> <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>value <span style="color: #008000;">is</span> TValue<span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfValue</span><span style="color: #008000;">(</span><span style="color: #008000;">(</span>TValue<span style="color: #008000;">)</span>value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Inserts an item to the IList at the specified index. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Insert</span><span style="color: #008000;">(</span><span style="color: #6666cc; font-weight: bold;">int</span> index, <span style="color: #6666cc; font-weight: bold;">object</span> value<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> NotImplementedException<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Removes the first occurrence of a specific object from the IList. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Remove</span><span style="color: #008000;">(</span><span style="color: #6666cc; font-weight: bold;">object</span> value<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>value <span style="color: #008000;">is</span> TKey<span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                Remove<span style="color: #008000;">(</span><span style="color: #008000;">(</span>TKey<span style="color: #008000;">)</span>value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Removes the IList item at the specified index. (Inherited from IList.)</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Collections</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">IList</span><span style="color: #008000;">.</span><span style="color: #0000FF;">RemoveAt</span><span style="color: #008000;">(</span><span style="color: #6666cc; font-weight: bold;">int</span> index<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">RemoveAt</span><span style="color: #008000;">(</span>index<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Removes the PropertyDescriptor from the indexes used for searching.</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">RemoveIndex</span><span style="color: #008000;">(</span>PropertyDescriptor property<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Removes any sort applied using ApplySort.</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">RemoveSort</span><span style="color: #008000;">(</span><span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
        <span style="color: #008000;">}</span>
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080;">#region IDictionary</span>
        <span style="color: #008080; font-style: italic;">//Adds an item to the ICollection)&amp;gt;). (Inherited from ICollection)&amp;gt;).)</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">(</span>KeyValuePair item<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #008000;">(</span><span style="color: #008000;">(</span>ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;</span><span style="color: #008000;">)</span>_Source<span style="color: #008000;">)</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">(</span>item<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
 
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseItemChangedEvents</span><span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                HookPropertyChanged<span style="color: #008000;">(</span>item<span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                OnListChanged<span style="color: #008000;">(</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">(</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemAdded</span>, _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfKey</span><span style="color: #008000;">(</span>item<span style="color: #008000;">.</span><span style="color: #0000FF;">Key</span><span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Adds an element with the provided key and value to the IDictionary)&amp;gt;).</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Add<span style="color: #008000;">(</span>TKey key, TValue value<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">(</span>key, value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
 
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseItemChangedEvents</span><span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                HookPropertyChanged<span style="color: #008000;">(</span>value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                OnListChanged<span style="color: #008000;">(</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">(</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemAdded</span>, _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfKey</span><span style="color: #008000;">(</span>key<span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Determines whether the ICollection)&amp;gt;) contains a specific value. (Inherited from ICollection)&amp;gt;).)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">(</span>KeyValuePair item<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">(</span><span style="color: #008000;">(</span>ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;</span><span style="color: #008000;">)</span>_Source<span style="color: #008000;">)</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">(</span>item<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Determines whether the IDictionary)&amp;gt;) contains an element with the specified key.</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> ContainsKey<span style="color: #008000;">(</span>TKey key<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">ContainsKey</span><span style="color: #008000;">(</span>key<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Determines whether the IDictionary)&amp;gt;) contains an element with the specified key.</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;.</span><span style="color: #0000FF;">CopyTo</span><span style="color: #008000;">(</span>KeyValuePair<span style="color: #008000;">[</span><span style="color: #008000;">]</span> array, <span style="color: #6666cc; font-weight: bold;">int</span> arrayIndex<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #008000;">(</span><span style="color: #008000;">(</span>ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;</span><span style="color: #008000;">)</span>_Source<span style="color: #008000;">)</span><span style="color: #008000;">.</span><span style="color: #0000FF;">CopyTo</span><span style="color: #008000;">(</span>array, arrayIndex<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Returns an enumerator that iterates through the collection. (Inherited from IEnumerable)&amp;gt;).)</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> IEnumerator<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;</span> GetEnumerator<span style="color: #008000;">(</span><span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">GetEnumerator</span><span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Removes the first occurrence of a specific object from the ICollection)&amp;gt;). (Inherited from ICollection)&amp;gt;).)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;.</span><span style="color: #0000FF;">Remove</span><span style="color: #008000;">(</span>KeyValuePair item<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #6666cc; font-weight: bold;">int</span> index <span style="color: #008000;">=</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfKey</span><span style="color: #008000;">(</span>item<span style="color: #008000;">.</span><span style="color: #0000FF;">Key</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>index <span style="color: #008000;">!=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseItemChangedEvents</span><span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    UnhookPropertyChanged<span style="color: #008000;">(</span>item<span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">}</span>
                <span style="color: #008000;">(</span><span style="color: #008000;">(</span>ICollection<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;</span><span style="color: #008000;">)</span>_Source<span style="color: #008000;">)</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Remove</span><span style="color: #008000;">(</span>item<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                OnListChanged<span style="color: #008000;">(</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">(</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemDeleted</span>, index<span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Removes the element with the specified key from the IDictionary)&amp;gt;).</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> Remove<span style="color: #008000;">(</span>TKey key<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #6666cc; font-weight: bold;">int</span> index <span style="color: #008000;">=</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfKey</span><span style="color: #008000;">(</span>key<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>index <span style="color: #008000;">!=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseItemChangedEvents</span><span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    UnhookPropertyChanged<span style="color: #008000;">(</span>_Source<span style="color: #008000;">[</span>key<span style="color: #008000;">]</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">}</span>
                _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Remove</span><span style="color: #008000;">(</span>key<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                OnListChanged<span style="color: #008000;">(</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">(</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemDeleted</span>, index<span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Gets the value associated with the specified key.</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> TryGetValue<span style="color: #008000;">(</span>TKey key, <span style="color: #0600FF; font-weight: bold;">out</span> TValue value<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">TryGetValue</span><span style="color: #008000;">(</span>key, <span style="color: #0600FF; font-weight: bold;">out</span> value<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080; font-style: italic;">//Removes all items from the IList. (Inherited from IList.)</span>
        <span style="color: #008080; font-style: italic;">//Removes all items from the ICollection)&amp;gt;). (Inherited from ICollection)&amp;gt;).)</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Clear<span style="color: #008000;">(</span><span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
 
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseItemChangedEvents</span><span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">(</span>TValue item <span style="color: #0600FF; font-weight: bold;">in</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Values</span><span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    UnhookPropertyChanged<span style="color: #008000;">(</span>item<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">}</span>
            <span style="color: #008000;">}</span>
 
            _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Clear</span><span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            OnListChanged<span style="color: #008000;">(</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">(</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">Reset</span>, <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> Initialize<span style="color: #008000;">(</span><span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
 
            <span style="color: #008080; font-style: italic;">// Check for INotifyPropertyChanged</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #008000;">typeof</span><span style="color: #008000;">(</span>INotifyPropertyChanged<span style="color: #008000;">)</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsAssignableFrom</span><span style="color: #008000;">(</span><span style="color: #008000;">typeof</span><span style="color: #008000;">(</span>TValue<span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #008080; font-style: italic;">// Supports INotifyPropertyChanged</span>
                <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseItemChangedEvents</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
 
                <span style="color: #008080; font-style: italic;">// Loop thru the items already in the collection and hook their change notification.</span>
                <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">(</span>TValue item <span style="color: #0600FF; font-weight: bold;">in</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Values</span><span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    HookPropertyChanged<span style="color: #008000;">(</span>item<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">}</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080; font-style: italic;">//Send change notification</span>
        <span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">virtual</span> <span style="color: #6666cc; font-weight: bold;">void</span> OnListChanged<span style="color: #008000;">(</span>ListChangedEventArgs e<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            var evt <span style="color: #008000;">=</span> listChanged<span style="color: #008000;">;</span> <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>evt <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">)</span> evt<span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span>, e<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> ResetBindings<span style="color: #008000;">(</span><span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            OnListChanged<span style="color: #008000;">(</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">(</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">Reset</span>, <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> RaiseListChangedEvents
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseListChangedEvents</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
 
            set
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseListChangedEvents</span> <span style="color: #008000;">!=</span> value<span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseListChangedEvents</span> <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
                <span style="color: #008000;">}</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080;">#region Events</span>
        <span style="color: #008080;">#region IBindingList</span>
        <span style="color: #0600FF; font-weight: bold;">event</span> ListChangedEventHandler IBindingList<span style="color: #008000;">.</span><span style="color: #0000FF;">ListChanged</span>
        <span style="color: #008000;">{</span>
            add
            <span style="color: #008000;">{</span>
                listChanged <span style="color: #008000;">+=</span> value<span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
            remove <span style="color: #008000;">{</span> listChanged <span style="color: #008000;">-=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
        <span style="color: #008080;">#endregion</span>
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080;">#region constructor</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> BindableDictionary<span style="color: #008000;">(</span><span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            _Source <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> SortedList<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            Initialize<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #0600FF; font-weight: bold;">public</span> BindableDictionary<span style="color: #008000;">(</span>IComparer comparer<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            _Source <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> SortedList<span style="color: #008000;">(</span>comparer<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
            Initialize<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">}</span>
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080;">#region Property Change Support</span>
 
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> HookPropertyChanged<span style="color: #008000;">(</span>TValue item<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            INotifyPropertyChanged inpc <span style="color: #008000;">=</span> <span style="color: #008000;">(</span>item <span style="color: #0600FF; font-weight: bold;">as</span> INotifyPropertyChanged<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
 
            <span style="color: #008080; font-style: italic;">// Note: inpc may be null if item is null, so always check.</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">!=</span> inpc<span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>propertyChangedEventHandler <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    propertyChangedEventHandler <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> PropertyChangedEventHandler<span style="color: #008000;">(</span>Child_PropertyChanged<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">}</span>
                inpc<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertyChanged</span> <span style="color: #008000;">+=</span> propertyChangedEventHandler<span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> UnhookPropertyChanged<span style="color: #008000;">(</span>TValue item<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            INotifyPropertyChanged inpc <span style="color: #008000;">=</span> <span style="color: #008000;">(</span>item <span style="color: #0600FF; font-weight: bold;">as</span> INotifyPropertyChanged<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
 
            <span style="color: #008080; font-style: italic;">// Note: inpc may be null if item is null, so always check.</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">!=</span> inpc <span style="color: #008000;">&amp;</span>amp<span style="color: #008000;">;&amp;</span>amp<span style="color: #008000;">;</span> <span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">!=</span> propertyChangedEventHandler<span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                inpc<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertyChanged</span> <span style="color: #008000;">-=</span> propertyChangedEventHandler<span style="color: #008000;">;</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #6666cc; font-weight: bold;">void</span> Child_PropertyChanged<span style="color: #008000;">(</span><span style="color: #6666cc; font-weight: bold;">object</span> sender, PropertyChangedEventArgs e<span style="color: #008000;">)</span>
        <span style="color: #008000;">{</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">RaiseListChangedEvents</span><span style="color: #008000;">)</span>
            <span style="color: #008000;">{</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>sender <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">||</span> e <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">||</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">(</span>e<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertyName</span><span style="color: #008000;">)</span><span style="color: #008000;">)</span>
                <span style="color: #008000;">{</span>
                    <span style="color: #008080; font-style: italic;">// Fire reset event (per INotifyPropertyChanged spec)</span>
                    ResetBindings<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">}</span>
                <span style="color: #0600FF; font-weight: bold;">else</span>
                <span style="color: #008000;">{</span>
                    TValue item<span style="color: #008000;">;</span>
 
                    <span style="color: #0600FF; font-weight: bold;">try</span>
                    <span style="color: #008000;">{</span>
                        item <span style="color: #008000;">=</span> <span style="color: #008000;">(</span>TValue<span style="color: #008000;">)</span>sender<span style="color: #008000;">;</span>
                    <span style="color: #008000;">}</span>
                    <span style="color: #0600FF; font-weight: bold;">catch</span> <span style="color: #008000;">(</span>InvalidCastException<span style="color: #008000;">)</span>
                    <span style="color: #008000;">{</span>
                        ResetBindings<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                        <span style="color: #0600FF; font-weight: bold;">return</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">}</span>
 
                    <span style="color: #008080; font-style: italic;">// Find the position of the item. This should never be -1. If it is,</span>
                    <span style="color: #008080; font-style: italic;">// somehow the item has been removed from our list without our knowledge.</span>
                    <span style="color: #6666cc; font-weight: bold;">int</span> pos <span style="color: #008000;">=</span> lastChangeIndex<span style="color: #008000;">;</span>
 
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>pos <span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">||</span> pos <span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;=</span> Count <span style="color: #008000;">||</span> <span style="color: #008000;">!</span>_Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Values</span><span style="color: #008000;">[</span>pos<span style="color: #008000;">]</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Equals</span><span style="color: #008000;">(</span>item<span style="color: #008000;">)</span><span style="color: #008000;">)</span>
                    <span style="color: #008000;">{</span>
                        pos <span style="color: #008000;">=</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfValue</span><span style="color: #008000;">(</span>item<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                        lastChangeIndex <span style="color: #008000;">=</span> pos<span style="color: #008000;">;</span>
                    <span style="color: #008000;">}</span>
 
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span>pos <span style="color: #008000;">==</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">)</span>
                    <span style="color: #008000;">{</span>
                        UnhookPropertyChanged<span style="color: #008000;">(</span>item<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                        ResetBindings<span style="color: #008000;">(</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">}</span>
                    <span style="color: #0600FF; font-weight: bold;">else</span>
                    <span style="color: #008000;">{</span>
                        <span style="color: #008080; font-style: italic;">// Get the property descriptor</span>
                        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">(</span><span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">itemTypeProperties</span><span style="color: #008000;">)</span>
                        <span style="color: #008000;">{</span>
                            <span style="color: #008080; font-style: italic;">// Get Shape</span>
                            itemTypeProperties <span style="color: #008000;">=</span> TypeDescriptor<span style="color: #008000;">.</span><span style="color: #0000FF;">GetProperties</span><span style="color: #008000;">(</span><span style="color: #008000;">typeof</span><span style="color: #008000;">(</span>TValue<span style="color: #008000;">)</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                        <span style="color: #008000;">}</span>
 
                        PropertyDescriptor pd <span style="color: #008000;">=</span> itemTypeProperties<span style="color: #008000;">.</span><span style="color: #0000FF;">Find</span><span style="color: #008000;">(</span>e<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertyName</span>, <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span>
 
                        <span style="color: #008080; font-style: italic;">// Create event args. If there was no matching property descriptor,</span>
                        <span style="color: #008080; font-style: italic;">// we raise the list changed anyway.</span>
                        ListChangedEventArgs args <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">(</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemChanged</span>, pos, pd<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
 
                        <span style="color: #008080; font-style: italic;">// Fire the ItemChanged event</span>
                        OnListChanged<span style="color: #008000;">(</span>args<span style="color: #008000;">)</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">}</span>
                <span style="color: #008000;">}</span>
            <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080;">#endregion</span>
 
        <span style="color: #008080;">#region IRaiseItemChangedEvents interface</span>
 
        <span style="color: #008080; font-style: italic;">///</span>
        <span style="color: #008080; font-style: italic;">///</span>
        <span style="color: #008080; font-style: italic;">/// Returns false to indicate that BindingList does NOT raise ListChanged events</span>
        <span style="color: #008080; font-style: italic;">/// of type ItemChanged as a result of property changes on individual list items</span>
        <span style="color: #008080; font-style: italic;">/// unless those items support INotifyPropertyChanged</span>
        <span style="color: #008080; font-style: italic;">///</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> IRaiseItemChangedEvents<span style="color: #008000;">.</span><span style="color: #0000FF;">RaisesItemChangedEvents</span>
        <span style="color: #008000;">{</span>
            get <span style="color: #008000;">{</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">raiseItemChangedEvents</span><span style="color: #008000;">;</span> <span style="color: #008000;">}</span>
        <span style="color: #008000;">}</span>
 
        <span style="color: #008080;">#endregion</span>
 
    <span style="color: #008000;">}</span></pre></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://enlighten-media.net/blog/csharp-development/csharp-bindable-dictionary/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Olivia Morgado Photography</title>
		<link>http://enlighten-media.net/blog/general/olivia-morgado-photography</link>
		<comments>http://enlighten-media.net/blog/general/olivia-morgado-photography#comments</comments>
		<pubDate>Sun, 15 Jan 2012 21:24:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://enlighten-media.net/blog/?p=17</guid>
		<description><![CDATA[Although this is not a new website, I finally got around to adding this site to my portfolio, which I should have done a while ago. I did this website for a very talented photographer and cinematographer Oliva Morgado and &#8230; <a href="http://enlighten-media.net/blog/general/olivia-morgado-photography">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Although this is not a new website, I finally got around to adding this site to my portfolio, which I should have done a while ago. I did this website for a very talented photographer and cinematographer Oliva Morgado and you can check out <a title="Oliva Morgado" href="http://oliviamorgado.co.za" target="_blank">her website her</a>. We took the design provided by <a title="Makers of Stuff" href="http://makersofstuff.posterous.com/" target="_blank">Makers of Stuff</a> and created a Drupal template for Olivia, then built the website so that Olivia could maintain her own images and categories.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://enlighten-media.net/blog/general/olivia-morgado-photography/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 3.3.1 &#8211; Edit Meta Menu Widget</title>
		<link>http://enlighten-media.net/blog/web-development/wordpress-3-3-1-edit-meta-menu-widget</link>
		<comments>http://enlighten-media.net/blog/web-development/wordpress-3-3-1-edit-meta-menu-widget#comments</comments>
		<pubDate>Thu, 12 Jan 2012 22:44:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://enlighten-media.net/blog/?p=11</guid>
		<description><![CDATA[Okay, first thing I learnt while trying to set up this new website is how to edit the Meta Menu Widget in WordPress 3.3.1 One ways is to just remove the widget from Appearances &#62; Widgets. Being that I didn&#8217;t &#8230; <a href="http://enlighten-media.net/blog/web-development/wordpress-3-3-1-edit-meta-menu-widget">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Okay, first thing I learnt while trying to set up this new website is how to edit the Meta Menu Widget in WordPress 3.3.1</p>
<p>One ways is to just remove the widget from Appearances &gt; Widgets. Being that I didn&#8217;t feel like copying the links I actually wanted into a new widget I went in search of the php code that was behind the widget. I saw online references to widgets.php in the wp-includes folder but in 3.3.1 this does not contain the actual code for the Meta Widget. The php code for that widget is now located in default-widgets.php also found in the wp-includes folder. Search for the following to find the correct class:</p>
<blockquote><p>class WP_Widget_Meta extends WP_Widget {</p></blockquote>
<p>just below that on line 286 in default-widget.php is the function that builds the widget:</p>
<blockquote><p>function widget( $args, $instance ) {</p></blockquote>
<p>removing the &lt;li&gt;&#8230;&lt;/li&gt; entries will remove the menu item, for example removing this line:</p>
<blockquote><p>&lt;li&gt;&lt;?php wp_loginout(); ?&gt;&lt;/li&gt;</p></blockquote>
<p>will remove the <strong>Log out</strong> and <strong>Log in </strong>links.</p>
]]></content:encoded>
			<wfw:commentRss>http://enlighten-media.net/blog/web-development/wordpress-3-3-1-edit-meta-menu-widget/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Welcome to our new site.</title>
		<link>http://enlighten-media.net/blog/general/welcome</link>
		<comments>http://enlighten-media.net/blog/general/welcome#comments</comments>
		<pubDate>Thu, 12 Jan 2012 15:22:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://enlighten-media.net/blog/?p=1</guid>
		<description><![CDATA[Hi, Finally I got around to doing something more with my site, until now it has been very much the case of the cobbler&#8217;s children having no shoes! I am starting to rectify that and what you see here is the &#8230; <a href="http://enlighten-media.net/blog/general/welcome">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Finally I got around to doing something more with my site, until now it has been very much the case of the cobbler&#8217;s children having no shoes! I am starting to rectify that and what you see here is the start of that process. Of course, as always, other things especially paying things will take priority but</p>
]]></content:encoded>
			<wfw:commentRss>http://enlighten-media.net/blog/general/welcome/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

