<?xml version="1.0" encoding="UTF-8" standalone="yes"?><oembed><version><![CDATA[1.0]]></version><provider_name><![CDATA[AnttiTech]]></provider_name><provider_url><![CDATA[https://anttitech.wordpress.com]]></provider_url><author_name><![CDATA[Antti Makkonen]]></author_name><author_url><![CDATA[https://anttitech.wordpress.com/author/anttitech/]]></author_url><title><![CDATA[Things I Learned using Windows Phone 7&nbsp;devkit]]></title><type><![CDATA[link]]></type><html><![CDATA[<p>I recently started playing with around with Windows Phone 7 devkit and found it to be surprisingly productive tool set. I managed to develop a simple app within couple of weekends with almost zero previous knowledge on WP7 programming. I learned a couple of things on the way and wanted to tell them to you.</p>
<p>What I did was I started with installing <a title="Blend" href="http://www.microsoft.com/expression/products/Blend_Overview.aspx">Expression Blend</a>, <a title="Windows Phone 7 SDK" href="http://msdn.microsoft.com/en-us/library/ff402530(v=vs.92).aspx">Visual Studio 2010 and WP7 SDK</a>. I made UI using Blend and did the coding with Visual Studio. Benefits of this were near WYSIWYG experience with WP7 UI and no broken XAML during development.</p>
<p>And now the tips what I learned:</p>
<ul>
<li>Start with the data. Design the data model first because it will help you working with Expression Blend. Make <a title="Design time data" href="http://blogs.msdn.com/b/mcsuksoldev/archive/2010/08/27/designdata-mvvm-support-in-blend-vs2010-and-wpf-silverlight.aspx">design time data for your blend </a>project and how to <a title="Trouple shooting design time data" href="http://www.ableblue.com/blog/archive/2011/02/11/debugging-design-time-data-in-visual-studio-and-expression-blend/">trouple shoot it</a>.</li>
<li>Trust the Blend. Use it and learn it. I admit that it took good amount of time to find how to make all of the stuff. Some weirdness that I found hard to locate:
<ul>
<li>Databinding to UI items <a href="https://anttitech.files.wordpress.com/2012/04/databinding.jpg"><img loading="lazy" data-attachment-id="234" data-permalink="https://anttitech.wordpress.com/2012/04/24/things-i-learned-using-windows-phone-7-devkit/databinding/" data-orig-file="https://anttitech.files.wordpress.com/2012/04/databinding.jpg" data-orig-size="324,337" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;Antti Makkonen&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1335280560&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="How to bind data" data-image-description="&lt;p&gt;Where are the data binding tools in Expression Blend&lt;/p&gt;
" data-image-caption="" data-medium-file="https://anttitech.files.wordpress.com/2012/04/databinding.jpg?w=288" data-large-file="https://anttitech.files.wordpress.com/2012/04/databinding.jpg?w=324" class="aligncenter size-full wp-image-234" title="How to bind data" src="https://anttitech.files.wordpress.com/2012/04/databinding.jpg?w=324&#038;h=337" alt="" width="324" height="337" srcset="https://anttitech.files.wordpress.com/2012/04/databinding.jpg 324w, https://anttitech.files.wordpress.com/2012/04/databinding.jpg?w=144&amp;h=150 144w, https://anttitech.files.wordpress.com/2012/04/databinding.jpg?w=288&amp;h=300 288w" sizes="(max-width: 324px) 100vw, 324px" /></a></li>
<li>Table you need to add row and column definitions (found under layout)</li>
<li>To add more complex list box items than just plain text you need to edit List box item template. Found under list box right mouse click, edit generated Items, edit current. <a href="https://anttitech.files.wordpress.com/2012/04/edit-current.png"><img loading="lazy" data-attachment-id="235" data-permalink="https://anttitech.wordpress.com/2012/04/24/things-i-learned-using-windows-phone-7-devkit/edit-current/" data-orig-file="https://anttitech.files.wordpress.com/2012/04/edit-current.png" data-orig-size="504,383" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Edit current list box item style" data-image-description="&lt;p&gt;Where are the list box item style tools in Expression Blend&lt;/p&gt;
" data-image-caption="" data-medium-file="https://anttitech.files.wordpress.com/2012/04/edit-current.png?w=300" data-large-file="https://anttitech.files.wordpress.com/2012/04/edit-current.png?w=504" class="aligncenter size-full wp-image-235" title="Edit current list box item style" src="https://anttitech.files.wordpress.com/2012/04/edit-current.png?w=504&#038;h=383" alt="" width="504" height="383" srcset="https://anttitech.files.wordpress.com/2012/04/edit-current.png 504w, https://anttitech.files.wordpress.com/2012/04/edit-current.png?w=150&amp;h=114 150w, https://anttitech.files.wordpress.com/2012/04/edit-current.png?w=300&amp;h=228 300w" sizes="(max-width: 504px) 100vw, 504px" /></a></li>
<li>This is how to create <a href="http://windowsphonegeek.com/articles/ListBox-ContextMenu-with-MVVM-in-Windows-Phone">menu context items</a>.</li>
<li>This is how to create <a href="http://imaginativeuniversal.com/blog/post/2010/07/14/Creating-an-ApplicationBar-in-Blend.aspx">application bar</a>.</li>
<li>Use system styles in text boxes PhoneForeground etc. So if user changes the phone theme your app will do the same. <a href="https://anttitech.files.wordpress.com/2012/04/styles.png"><img title="System styles" src="https://anttitech.files.wordpress.com/2012/04/styles.png?w=540&#038;h=481" alt="" width="540" height="481" /></a></li>
<li>DO NOT apply system styles to list boxes! It will break selected styles. Adjust the font size and font or make you own styles that only change font and font size. Otherwise you will spend time on implementing list box selected item visualization.</li>
</ul>
</li>
<li>BIND UI to data. Seriously this will help a lot. You should not assign data to UI components. All my weird UI bugs where data is not updating where result of not doing the BIND correctly.</li>
<li>Test BIND working on your data periodically. This is because you want BINDING to work.</li>
<li>Make your data implement data as <a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged(v=vs.95).aspx">INotifyPropertyChanged</a> change so that when data changes it automatically changes on UI.</li>
<li>Define <a href="http://www.pitorque.de/MisterGoodcat/post/Requirements-of-and-pitfalls-in-Windows-Phone-7-serialization.aspx">data as serialisable</a>.</li>
<li>Icons where to find default icons: &#8220;C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Icons&#8221;</li>
<li><a href="http://expression.microsoft.com/en-us/gg317447">How to make clear enough icons</a>. You can also use Inkscape with 1028&#215;1028 canvas and convert image to png.</li>
</ul>
<p>Well that’s for now. I will make follow up posts on things I learn during my ventures on WP7 world.</p>
<p>ps. Here are some screenshots on the app I am working on. Its called &#8220;Stuff I Like&#8221; and its a simple tool for keeping track on stuff I hear about and might like.</p>
<p style="text-align:center;"><a href="https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg"><img loading="lazy" data-attachment-id="239" data-permalink="https://anttitech.wordpress.com/2012/04/24/things-i-learned-using-windows-phone-7-devkit/new_stuff_120424/" data-orig-file="https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg" data-orig-size="380,711" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;Antti Makkonen&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1335259697&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Add new stuff I Like view" data-image-description="" data-image-caption="" data-medium-file="https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg?w=160" data-large-file="https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg?w=380" class=" wp-image-239 aligncenter" title="Add new stuff I Like view" src="https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg?w=228&#038;h=427" alt="" width="228" height="427" srcset="https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg?w=228&amp;h=427 228w, https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg?w=80&amp;h=150 80w, https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg?w=160&amp;h=300 160w, https://anttitech.files.wordpress.com/2012/04/new_stuff_120424.jpg 380w" sizes="(max-width: 228px) 100vw, 228px" /></a></p>
<p style="text-align:center;"><a href="https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg"><img loading="lazy" data-attachment-id="237" data-permalink="https://anttitech.wordpress.com/2012/04/24/things-i-learned-using-windows-phone-7-devkit/add_stuff_120424/" data-orig-file="https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg" data-orig-size="382,712" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;Antti Makkonen&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1335259760&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Select Gategory for new stuff to add" data-image-description="" data-image-caption="" data-medium-file="https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg?w=161" data-large-file="https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg?w=382" class="aligncenter  wp-image-237" title="Select Gategory for new stuff to add" src="https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg?w=229&#038;h=427" alt="" width="229" height="427" srcset="https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg?w=229&amp;h=427 229w, https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg?w=80&amp;h=150 80w, https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg?w=161&amp;h=300 161w, https://anttitech.files.wordpress.com/2012/04/add_stuff_120424.jpg 382w" sizes="(max-width: 229px) 100vw, 229px" /></a></p>
<p style="text-align:center;"><a href="https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg"><img loading="lazy" data-attachment-id="238" data-permalink="https://anttitech.wordpress.com/2012/04/24/things-i-learned-using-windows-phone-7-devkit/browse_stuff_120424/" data-orig-file="https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg" data-orig-size="378,709" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;Antti Makkonen&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1335259970&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Browse Stuff I Like" data-image-description="" data-image-caption="" data-medium-file="https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg?w=160" data-large-file="https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg?w=378" class=" wp-image-238 aligncenter" title="Browse Stuff I Like" src="https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg?w=227&#038;h=425" alt="" width="227" height="425" srcset="https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg?w=227&amp;h=425 227w, https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg?w=80&amp;h=150 80w, https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg?w=160&amp;h=300 160w, https://anttitech.files.wordpress.com/2012/04/browse_stuff_120424.jpg 378w" sizes="(max-width: 227px) 100vw, 227px" /></a></p>
]]></html><thumbnail_url><![CDATA[https://anttitech.files.wordpress.com/2012/04/databinding.jpg?fit=440%2C330]]></thumbnail_url><thumbnail_width><![CDATA[]]></thumbnail_width><thumbnail_height><![CDATA[]]></thumbnail_height></oembed>