<?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>Fri, 22 Mar 2013 21:40:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Amoq &#8211; Liberating Funiture</title>
		<link>http://enlighten-media.net/blog/general/amoq-liberating-funiture</link>
		<comments>http://enlighten-media.net/blog/general/amoq-liberating-funiture#comments</comments>
		<pubDate>Sat, 13 Oct 2012 20:45:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://enlighten-media.net/blog/?p=35</guid>
		<description><![CDATA[The redesign of Amoq&#8217;s website is finally finished and live, check it out here: Amoq.co.za The site is built using Drupal 6 and makes extensive use of JQuery and JavaScript to create a more interactive experience. In the next couple &#8230; <a href="http://enlighten-media.net/blog/general/amoq-liberating-funiture">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The redesign of Amoq&#8217;s website is finally finished and live, check it out here: <a href="http://amoq.co.za" title="Amoq.co.za" target="_blank">Amoq.co.za</a><br />
The site is built using Drupal 6 and makes extensive use of JQuery and JavaScript to create a more interactive experience. In the next couple of weeks or so their online shop will be live, so you can get their cool products directly from them.</p>

<a href='http://enlighten-media.net/blog/general/amoq-liberating-funiture/attachment/amoq' title='Amoq - Home Page'><img width="150" height="150" src="http://enlighten-media.net/blog/wp-content/uploads/2012/10/amoq-150x150.jpg" class="attachment-thumbnail" alt="Amoq - Home Page" /></a>
<a href='http://enlighten-media.net/blog/general/amoq-liberating-funiture/attachment/amoq_brochure' title='Amoq - Product Brochure'><img width="150" height="150" src="http://enlighten-media.net/blog/wp-content/uploads/2012/10/amoq_brochure-150x150.jpg" class="attachment-thumbnail" alt="Amoq - Product Brochure" /></a>
<a href='http://enlighten-media.net/blog/general/amoq-liberating-funiture/attachment/amoq_pricelist' title='Amoq - Product Price List'><img width="150" height="150" src="http://enlighten-media.net/blog/wp-content/uploads/2012/10/amoq_pricelist-150x150.jpg" class="attachment-thumbnail" alt="Amoq - Product Price List" /></a>

]]></content:encoded>
			<wfw:commentRss>http://enlighten-media.net/blog/general/amoq-liberating-funiture/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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: &#160; public class BindableDictionary&#60;TKey, TValue&#62; : IDictionary&#60;TKey, TValue&#62;, IBindingList, IRaiseItemChangedEvents &#123; public SortedList&#60;TKey, TValue&#62; _Source = null; &#160; private ListChangedEventHandler &#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"><table><tr><td class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> BindableDictionary<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span> <span style="color: #008000;">:</span> IDictionary<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span>, IBindingList, IRaiseItemChangedEvents
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> SortedList<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span> _Source <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> ListChangedEventHandler listChanged<span style="color: #008000;">;</span>
&nbsp;
        <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>
&nbsp;
        <span style="color: #008000;">&#91;</span>NonSerialized<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</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>
&nbsp;
        <span style="color: #008000;">&#91;</span>NonSerialized<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</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>
&nbsp;
        <span style="color: #008000;">&#91;</span>NonSerialized<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</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>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span>
            <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span>
            <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span>
            <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span>
            <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#91;</span><span style="color: #6666cc; font-weight: bold;">int</span> index<span style="color: #008000;">&#93;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">&#91;</span>_Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Keys</span><span style="color: #008000;">&#91;</span>index<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            <span style="color: #0600FF; font-weight: bold;">set</span> <span style="color: #008000;">&#123;</span> _Source<span style="color: #008000;">&#91;</span>_Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Keys</span><span style="color: #008000;">&#91;</span>index<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>TValue<span style="color: #008000;">&#41;</span><span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span>
            <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #008080;">#endregion</span>
&nbsp;
        <span style="color: #008080;">#region IDictionary</span>
        <span style="color: #008080; font-style: italic;">//Gets a value indicating whether the ICollection&lt;(Of &lt;(T&gt;)&gt;) is read-only. (Inherited from ICollection&lt;(Of &lt;(T&gt;)&gt;).)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;.</span><span style="color: #0000FF;">IsReadOnly</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;</span><span style="color: #008000;">&#41;</span>_Source<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsReadOnly</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#91;</span>TKey key<span style="color: #008000;">&#93;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">return</span> _Source<span style="color: #008000;">&#91;</span>key<span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0600FF; font-weight: bold;">set</span>
            <span style="color: #008000;">&#123;</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;">&#40;</span>_Source<span style="color: #008000;">.</span><span style="color: #0000FF;">ContainsKey</span><span style="color: #008000;">&#40;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</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;">&#125;</span>
                _Source<span style="color: #008000;">&#91;</span>key<span style="color: #008000;">&#93;</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>bAdded<span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        HookPropertyChanged<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        OnListChanged<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">&#40;</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;">&#40;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Gets an ICollection&lt;(Of &lt;(T&gt;)&gt;) containing the keys of the IDictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;). </span>
        <span style="color: #0600FF; font-weight: bold;">public</span> ICollection<span style="color: #008000;">&lt;</span>TKey<span style="color: #008000;">&gt;</span> Keys
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Gets an ICollection&lt;(Of &lt;(T&gt;)&gt;) containing the values in the IDictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;). </span>
        <span style="color: #0600FF; font-weight: bold;">public</span> ICollection<span style="color: #008000;">&lt;</span>TValue<span style="color: #008000;">&gt;</span> Values
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
&nbsp;
        <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&lt;(Of &lt;(T&gt;)&gt;). (Inherited from ICollection&lt;(Of &lt;(T&gt;)&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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
&nbsp;
        <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: #0600FF; font-weight: bold;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> NotImplementedException<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span>PropertyDescriptor property<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</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;">&#125;</span>
&nbsp;
        <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;">&#40;</span>PropertyDescriptor property, ListSortDirection direction<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">value</span> <span style="color: #008000;">is</span> TKey<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</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;">&#40;</span><span style="color: #008000;">&#40;</span>TKey<span style="color: #008000;">&#41;</span><span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0600FF; font-weight: bold;">else</span> <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">value</span> <span style="color: #008000;">is</span> TValue<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</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;">&#40;</span><span style="color: #008000;">&#40;</span>TValue<span style="color: #008000;">&#41;</span><span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</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;">&#125;</span>
&nbsp;
        <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;">&#40;</span>Array array, <span style="color: #6666cc; font-weight: bold;">int</span> arrayIndex<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>ICollection<span style="color: #008000;">&#41;</span>_Source<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">CopyTo</span><span style="color: #008000;">&#40;</span>array, arrayIndex<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span>PropertyDescriptor property, <span style="color: #6666cc; font-weight: bold;">object</span> key<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> NotImplementedException<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> GetEnumerator<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">value</span> <span style="color: #008000;">is</span> TKey<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</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;">&#40;</span><span style="color: #008000;">&#40;</span>TKey<span style="color: #008000;">&#41;</span><span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0600FF; font-weight: bold;">else</span> <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">value</span> <span style="color: #008000;">is</span> TValue<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</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;">&#40;</span><span style="color: #008000;">&#40;</span>TValue<span style="color: #008000;">&#41;</span><span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</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;">&#125;</span>
&nbsp;
        <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;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> index, <span style="color: #6666cc; font-weight: bold;">object</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> NotImplementedException<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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: #0600FF; font-weight: bold;">Remove</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">value</span> <span style="color: #008000;">is</span> TKey<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">Remove</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>TKey<span style="color: #008000;">&#41;</span><span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> index<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">RemoveAt</span><span style="color: #008000;">&#40;</span>index<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span>PropertyDescriptor property<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #008080;">#endregion</span>
&nbsp;
&nbsp;
        <span style="color: #008080;">#region IDictionary</span>
        <span style="color: #008080; font-style: italic;">//Adds an item to the ICollection&lt;(Of &lt;(T&gt;)&gt;). (Inherited from ICollection&lt;(Of &lt;(T&gt;)&gt;).)</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;.</span><span style="color: #0600FF; font-weight: bold;">Add</span><span style="color: #008000;">&#40;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span> item<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;</span><span style="color: #008000;">&#41;</span>_Source<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Add</span><span style="color: #008000;">&#40;</span>item<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                HookPropertyChanged<span style="color: #008000;">&#40;</span>item<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                OnListChanged<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">&#40;</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;">&#40;</span>item<span style="color: #008000;">.</span><span style="color: #0000FF;">Key</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Adds an element with the provided key and value to the IDictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;). </span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> <span style="color: #0600FF; font-weight: bold;">Add</span><span style="color: #008000;">&#40;</span>TKey key, TValue <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            _Source<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Add</span><span style="color: #008000;">&#40;</span>key, <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                HookPropertyChanged<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                OnListChanged<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">&#40;</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;">&#40;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Determines whether the ICollection&lt;(Of &lt;(T&gt;)&gt;) contains a specific value. (Inherited from ICollection&lt;(Of &lt;(T&gt;)&gt;).)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span> item<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;</span><span style="color: #008000;">&#41;</span>_Source<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span>item<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Determines whether the IDictionary&lt;(Of &lt;(TKey, TValue&gt;)&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;">&#40;</span>TKey key<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</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;">&#40;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Determines whether the IDictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) contains an element with the specified key.</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;.</span><span style="color: #0000FF;">CopyTo</span><span style="color: #008000;">&#40;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> array, <span style="color: #6666cc; font-weight: bold;">int</span> arrayIndex<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;</span><span style="color: #008000;">&#41;</span>_Source<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">CopyTo</span><span style="color: #008000;">&#40;</span>array, arrayIndex<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Returns an enumerator that iterates through the collection. (Inherited from IEnumerable&lt;(Of &lt;(T&gt;)&gt;).)</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> IEnumerator<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;</span> GetEnumerator<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</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;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Removes the first occurrence of a specific object from the ICollection&lt;(Of &lt;(T&gt;)&gt;). (Inherited from ICollection&lt;(Of &lt;(T&gt;)&gt;).)</span>
        <span style="color: #6666cc; font-weight: bold;">bool</span> ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;.</span><span style="color: #0600FF; font-weight: bold;">Remove</span><span style="color: #008000;">&#40;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span> item<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</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;">&#40;</span>item<span style="color: #008000;">.</span><span style="color: #0000FF;">Key</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>index <span style="color: #008000;">!=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    UnhookPropertyChanged<span style="color: #008000;">&#40;</span>item<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>ICollection<span style="color: #008000;">&lt;</span>KeyValuePair<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;&gt;</span><span style="color: #008000;">&#41;</span>_Source<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Remove</span><span style="color: #008000;">&#40;</span>item<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                OnListChanged<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">&#40;</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemDeleted</span>, index<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</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;">&#125;</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;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//Removes the element with the specified key from the IDictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;). </span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> <span style="color: #0600FF; font-weight: bold;">Remove</span><span style="color: #008000;">&#40;</span>TKey key<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</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;">&#40;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>index <span style="color: #008000;">!=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    UnhookPropertyChanged<span style="color: #008000;">&#40;</span>_Source<span style="color: #008000;">&#91;</span>key<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
                _Source<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Remove</span><span style="color: #008000;">&#40;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                OnListChanged<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">&#40;</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemDeleted</span>, index<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</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;">&#125;</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;">&#125;</span>
&nbsp;
        <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;">&#40;</span>TKey key, <span style="color: #0600FF; font-weight: bold;">out</span> TValue <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</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;">&#40;</span>key, <span style="color: #0600FF; font-weight: bold;">out</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #008080;">#endregion</span>
&nbsp;
        <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&lt;(Of &lt;(T&gt;)&gt;). (Inherited from ICollection&lt;(Of &lt;(T&gt;)&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;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</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;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    UnhookPropertyChanged<span style="color: #008000;">&#40;</span>item<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">Clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            OnListChanged<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">&#40;</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;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">// Check for INotifyPropertyChanged</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>INotifyPropertyChanged<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsAssignableFrom</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>TValue<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</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>
&nbsp;
                <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;">&#40;</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;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    HookPropertyChanged<span style="color: #008000;">&#40;</span>item<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <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;">&#40;</span>ListChangedEventArgs e<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">var</span> 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;">&#40;</span>evt <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span> evt<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> ResetBindings<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            OnListChanged<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ListChangedEventArgs<span style="color: #008000;">&#40;</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;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> RaiseListChangedEvents
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">set</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</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: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #008080;">#endregion</span>
&nbsp;
        <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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">add</span>
            <span style="color: #008000;">&#123;</span>
                listChanged <span style="color: #008000;">+=</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0600FF; font-weight: bold;">remove</span> <span style="color: #008000;">&#123;</span> listChanged <span style="color: #008000;">-=</span> <span style="color: #0600FF; font-weight: bold;">value</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #008080;">#endregion</span>
        <span style="color: #008080;">#endregion</span>
&nbsp;
        <span style="color: #008080;">#region constructor</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> BindableDictionary<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            _Source <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> SortedList<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> BindableDictionary<span style="color: #008000;">&#40;</span>IComparer<span style="color: #008000;">&lt;</span>TKey<span style="color: #008000;">&gt;</span> comparer<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            _Source <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> SortedList<span style="color: #008000;">&lt;</span>TKey, TValue<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span>comparer<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #008080;">#endregion</span>
&nbsp;
&nbsp;
        <span style="color: #008080;">#region Property Change Support</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> HookPropertyChanged<span style="color: #008000;">&#40;</span>TValue item<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            INotifyPropertyChanged inpc <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>item <span style="color: #0600FF; font-weight: bold;">as</span> INotifyPropertyChanged<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <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;">&#40;</span><span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">!=</span> inpc<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>propertyChangedEventHandler <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    propertyChangedEventHandler <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> PropertyChangedEventHandler<span style="color: #008000;">&#40;</span>Child_PropertyChanged<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> UnhookPropertyChanged<span style="color: #008000;">&#40;</span>TValue item<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            INotifyPropertyChanged inpc <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>item <span style="color: #0600FF; font-weight: bold;">as</span> INotifyPropertyChanged<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <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;">&#40;</span><span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">!=</span> inpc <span style="color: #008000;">&amp;&amp;</span> <span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">!=</span> propertyChangedEventHandler<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #6666cc; font-weight: bold;">void</span> Child_PropertyChanged<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> sender, PropertyChangedEventArgs e<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</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;">&#40;</span>e<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertyName</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #008080; font-style: italic;">// Fire reset event (per INotifyPropertyChanged spec)</span>
                    ResetBindings<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
                <span style="color: #0600FF; font-weight: bold;">else</span>
                <span style="color: #008000;">&#123;</span>
                    TValue item<span style="color: #008000;">;</span>
&nbsp;
                    <span style="color: #0600FF; font-weight: bold;">try</span>
                    <span style="color: #008000;">&#123;</span>
                        item <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>TValue<span style="color: #008000;">&#41;</span>sender<span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                    <span style="color: #0600FF; font-weight: bold;">catch</span> <span style="color: #008000;">&#40;</span>InvalidCastException<span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        ResetBindings<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        <span style="color: #0600FF; font-weight: bold;">return</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
&nbsp;
                    <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>
&nbsp;
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>pos <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">||</span> pos <span style="color: #008000;">&gt;=</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;">&#91;</span>pos<span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Equals</span><span style="color: #008000;">&#40;</span>item<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        pos <span style="color: #008000;">=</span> _Source<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOfValue</span><span style="color: #008000;">&#40;</span>item<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        lastChangeIndex <span style="color: #008000;">=</span> pos<span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
&nbsp;
                    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>pos <span style="color: #008000;">==</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        UnhookPropertyChanged<span style="color: #008000;">&#40;</span>item<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        ResetBindings<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                    <span style="color: #0600FF; font-weight: bold;">else</span>
                    <span style="color: #008000;">&#123;</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;">&#40;</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;">&#41;</span>
                        <span style="color: #008000;">&#123;</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;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>TValue<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        <span style="color: #008000;">&#125;</span>
&nbsp;
                        PropertyDescriptor pd <span style="color: #008000;">=</span> itemTypeProperties<span style="color: #008000;">.</span><span style="color: #0000FF;">Find</span><span style="color: #008000;">&#40;</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;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                        <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;">&#40;</span>ListChangedType<span style="color: #008000;">.</span><span style="color: #0000FF;">ItemChanged</span>, pos, pd<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                        <span style="color: #008080; font-style: italic;">// Fire the ItemChanged event</span>
                        OnListChanged<span style="color: #008000;">&#40;</span>args<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
&nbsp;
        <span style="color: #008080;">#region IRaiseItemChangedEvents interface</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">/// &lt;include file='doc\BindingList.uex' path='docs/doc[@for=&quot;BindingList.RaisesItemChangedEvents&quot;]/*' /&gt;</span>
        <span style="color: #008080; font-style: italic;">/// &lt;devdoc&gt;</span>
        <span style="color: #008080; font-style: italic;">/// Returns false to indicate that BindingList&lt;T&gt; 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;">/// &lt;/devdoc&gt;</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;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">get</span> <span style="color: #008000;">&#123;</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;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
&nbsp;
    <span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://enlighten-media.net/blog/csharp-development/csharp-bindable-dictionary/feed</wfw:commentRss>
		<slash:comments>7</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 here</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>3</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>
