<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Alex Sorokoletov</title>
	
	<link>http://sorokoletov.com</link>
	<description>Webnotes</description>
	<lastBuildDate>Thu, 26 Jan 2012 09:31:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<atom:link rel="next" href="http://sorokoletov.com/feed/?page=2" />

		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AlexSorokoletov" /><feedburner:info uri="alexsorokoletov" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Заказ такси 7788 для WP7</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/ebVU3kUdmi4/</link>
		<comments>http://sorokoletov.com/2012/01/zakaz-taxi-7788-windowsphone-minsk/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 08:35:51 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[contests]]></category>
		<category><![CDATA[minsk]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Map]]></category>
		<category><![CDATA[MarketPlace]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[windowsphone]]></category>
		<category><![CDATA[wp7dev]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=570</guid>
		<description><![CDATA[Добрый день!
Представляем еще одно приложение &#8211; Заказ такси 7788.
Приложение для быстрого и удобного заказа такси в Минске. Если Вы живете не в Минске, то это приложение не для Вас

Зачем
- Устали висеть в очереди звонков диспетчерской службы такси?
- Надоело платить за звонок в службу такси?
- Не знаете, куда вызвать такси?
Если вы ответили хоть на один вопрос [...]]]></description>
			<content:encoded><![CDATA[<p>Добрый день!<br />
Представляем еще одно приложение &#8211; Заказ такси 7788.</p>
<p>Приложение для быстрого и удобного заказа такси в Минске. Если Вы живете не в Минске, то это приложение не для Вас<br />
<span id="more-570"></span></p>
<h4>Зачем</h4>
<p>- Устали висеть в очереди звонков диспетчерской службы такси?<br />
- Надоело платить за звонок в службу такси?<br />
- Не знаете, куда вызвать такси?</p>
<p>Если вы ответили хоть на один вопрос  &#8220;Да&#8221;, то Вам поможет это приложение!</p>
<h4>Возможности</h4>
<p>- Быстрое определение вашего местоположения с возможностью уточнить адрес<br />
- Прямой заказ сразу к водителям, минуя диспетчерскую службу<br />
- Подтверждение и подача такси менее чем за 10 минут<br />
- История ваших заказов</p>
<p>И все это у Вас в телефоне!</p>
<h4>Скачать</h4>
<p><a href="http://windowsphone.com/s?appid=52e07169-ac7b-4145-b384-d8515db5f5da" title="скачать такси 7788 для windowsphone минск"><img src="http://strakh.com/wp-content/uploads/2010/12/wp7-en.png" border="0" /></a></p>
<table>
<tr>
<td>
<a href="http://image.catalog.zune.net/v3.2/en-US/image/80025021-3fee-42da-9713-b17350a2c951?width=100&#038;height=100"><br />
<img src="http://image.catalog.zune.net/v3.2/en-US/image/80025021-3fee-42da-9713-b17350a2c951?width=100&#038;height=100" width="120" height="200" border="0" alt="Страница заказа такси 7788" /></a></td>
<td>
<a href="http://catalog.zune.net/v3.2/en-US/image/df3fb90c-32d2-4936-8a66-02a8819d78e7?width=100&#038;height=100"><br />
<img src="http://catalog.zune.net/v3.2/en-US/image/df3fb90c-32d2-4936-8a66-02a8819d78e7?width=100&#038;height=100" width="120" height="200" border="0" alt="Выбор адреса для подачи такси 7788" /></a>
</td>
</tr>
</table>
<table>
<tr>
<td><a href="http://catalog.zune.net/v3.2/en-US/image/f3f07c29-ccc9-48d4-a6a8-76372a33e99e?width=100&#038;height=100"><br />
<img src="http://catalog.zune.net/v3.2/en-US/image/f3f07c29-ccc9-48d4-a6a8-76372a33e99e?width=100&#038;height=100" width="120" height="200" border="0" alt="Детали вашего заказа такси 7788" /></a></td>
<td>
<a href="http://catalog.zune.net/v3.2/en-US/image/b62f3bd8-c7cb-4b7e-a358-4fb6791a39f1?width=100&#038;height=100"><br />
<img src="http://catalog.zune.net/v3.2/en-US/image/b62f3bd8-c7cb-4b7e-a358-4fb6791a39f1?width=100&#038;height=100" width="120" height="200" border="0" alt="История заказов такси 7788" /></a>
</td>
</tr>
</table>

<p><a href="http://feedads.g.doubleclick.net/~a/Mu0AgYAD0EQneTOiABnyslboPmM/0/da"><img src="http://feedads.g.doubleclick.net/~a/Mu0AgYAD0EQneTOiABnyslboPmM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Mu0AgYAD0EQneTOiABnyslboPmM/1/da"><img src="http://feedads.g.doubleclick.net/~a/Mu0AgYAD0EQneTOiABnyslboPmM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=ebVU3kUdmi4:yy5TOlsEvY4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/ebVU3kUdmi4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2012/01/zakaz-taxi-7788-windowsphone-minsk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2012/01/zakaz-taxi-7788-windowsphone-minsk/</feedburner:origLink></item>
		<item>
		<title>Flawless Google Latitude for Windows Phone is available in gMaps 1.15</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/oYNrQa0KTB4/</link>
		<comments>http://sorokoletov.com/2012/01/flawless-google-latitude-for-windows-phone-is-available-in-gmaps-1-15/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 16:54:20 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wp7]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=566</guid>
		<description><![CDATA[Google latitude is working again and waiting for you!
gMaps Pro v1.15 includes new features as well as various fixes and improvements. We&#8217;ve fixed critical issue with latitude authentication, so you can still use latitude on your #windowsphone 
What’s new in 1.15:
1. New live tile nearby alert. When somebody in Latitude is nearby (2km or less), [...]]]></description>
			<content:encoded><![CDATA[<p>Google latitude is working again and waiting for you!</p>
<p>gMaps Pro v1.15 includes new features as well as various fixes and improvements. We&#8217;ve fixed critical issue with latitude authentication, so you can still use latitude on your #windowsphone <img src='http://sorokoletov.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
What’s new in 1.15:<br />
1. New live tile nearby alert. When somebody in Latitude is nearby (2km or less), we will notify you using live tile on your screen. You will like it!<br />
2. Details place and local search card<br />
3. Directions list (for active route)<br />
4. Various UI improvements and small bug fixes, Latitude authentication fix.</p>
<p>Just to remind you, we have twitter account <a href="https://twitter.com/gmapswp7" title="gMaps for windowsphone twitter">@gmapswp7</a>, <a href="http://www.facebook.com/pages/GMaps/117070391734966" title="Facebook page of gMaps for windowsphone">gMaps Facebook page</a> and <a href="http://is.gd/gMapsToDo">UserVoice forum</a>, where you can vote for ideas or propose new one.</p>
<p>Alex and Alexey.</p>
<p>Download app here:<br />
<a title="Download gMaps for WindowsPhone with Latitude" href="http://windowsphone.com/s?appid=c83aade5-5191-e011-986b-78e7d1fa76f8"><img url="http://strakh.com/wp-content/uploads/2010/12/wp7-en.png" alt="Download gMaps for WindowsPhone with Latitude"/></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/bVG97w5JO4NGAvfRvVMlQ5hw-3k/0/da"><img src="http://feedads.g.doubleclick.net/~a/bVG97w5JO4NGAvfRvVMlQ5hw-3k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bVG97w5JO4NGAvfRvVMlQ5hw-3k/1/da"><img src="http://feedads.g.doubleclick.net/~a/bVG97w5JO4NGAvfRvVMlQ5hw-3k/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=oYNrQa0KTB4:GQzrVGuPh94:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/oYNrQa0KTB4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2012/01/flawless-google-latitude-for-windows-phone-is-available-in-gmaps-1-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2012/01/flawless-google-latitude-for-windows-phone-is-available-in-gmaps-1-15/</feedburner:origLink></item>
		<item>
		<title>Phone Dialer Maintenance Update 1.5</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/73DJG_jwRHI/</link>
		<comments>http://sorokoletov.com/2012/01/phone-dialer-maintenance-update-1-5/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 20:37:06 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wp7]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=562</guid>
		<description><![CDATA[Phone Dialer (link to the app) got maintenance update.
What&#8217;s inside:
1. Bug fixes to all issues we found with great help of the users.
2. Option to clear history
3. Some effects added
4. Metro UI improvements, thank to the #metrolynch by @kichinsky 
5. Updated icon

Download app right now:

]]></description>
			<content:encoded><![CDATA[<p>Phone Dialer (<a href="http://www.windowsphone.com/en-US/apps/a009a72c-9741-43e5-b057-bc2ba6a8ba93">link to the app</a>) got maintenance update.<br />
What&#8217;s inside:<br />
1. Bug fixes to all issues we found with great help of the users.<br />
2. Option to clear history<br />
3. Some effects added<br />
4. Metro UI improvements, thank to the #metrolynch by <a href="https://twitter.com/kichinsky">@kichinsky</a> <img src='http://sorokoletov.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
5. Updated icon<br />
<img src="http://strakh.com/wp-content/uploads/2012/01/7.173.black_-180x300.png" alt="New icon of Phone Dialer" /></p>
<p>Download app right now:<br />
<a href="http://www.windowsphone.com/en-US/apps/a009a72c-9741-43e5-b057-bc2ba6a8ba93" title="download phone dialer app for windowsphone"><img src="http://strakh.com/wp-content/uploads/2010/12/wp7-en.png"  /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/WguSAVy4QmYe_d00BqD2Hnc31uw/0/da"><img src="http://feedads.g.doubleclick.net/~a/WguSAVy4QmYe_d00BqD2Hnc31uw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WguSAVy4QmYe_d00BqD2Hnc31uw/1/da"><img src="http://feedads.g.doubleclick.net/~a/WguSAVy4QmYe_d00BqD2Hnc31uw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=73DJG_jwRHI:v3zC6WKIkpI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/73DJG_jwRHI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2012/01/phone-dialer-maintenance-update-1-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2012/01/phone-dialer-maintenance-update-1-5/</feedburner:origLink></item>
		<item>
		<title>Новогодний конкурс WP7</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/jiNh5JBXAhw/</link>
		<comments>http://sorokoletov.com/2011/12/wp7-novyj-god-2012-konkurs-karta-jarmarok-moskva/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 00:11:34 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[contests]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[mango]]></category>
		<category><![CDATA[Map]]></category>
		<category><![CDATA[moscow]]></category>
		<category><![CDATA[NY2012]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[windowsphone]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=557</guid>
		<description><![CDATA[Мы с Лешей по старой традиции и привычке тоже решили поучаствовать. После штурма появилось с десяток идей, из реализуемых и реально полезных выбрали одну и …
И после неудачной первой сертификации (уведомление пользователя о использовании данных о его местоположении) вашему взору предстает
Карта елочных ярмарок Москвы
Суть проста. Хотите купить елку? Украшения, сувениры или подарки?
Загрузите наше приложение и [...]]]></description>
			<content:encoded><![CDATA[<p>Мы с Лешей по старой традиции и привычке тоже решили поучаствовать. После штурма появилось с десяток идей, из реализуемых и реально полезных выбрали одну и …</p>
<p>И после неудачной первой сертификации (уведомление пользователя о использовании данных о его местоположении) вашему взору предстает</p>
<h3>Карта елочных ярмарок Москвы</h3>
<p>Суть проста. Хотите купить елку? Украшения, сувениры или подарки?</p>
<p>Загрузите наше приложение и выберите ближайший к вам елочный базар. </p>
<p><a href="http://sorokoletov.com/wp-content/uploads/2011/12/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sorokoletov.com/wp-content/uploads/2011/12/image_thumb.png" width="292" height="484" /></a><a href="http://sorokoletov.com/wp-content/uploads/2011/12/image1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sorokoletov.com/wp-content/uploads/2011/12/image_thumb1.png" width="292" height="484" /></a></p>
<p>Кроме местоположения, вы можете посмотреть (и скопировать) координаты (для навигатора, к примеру) и расписание работы.</p>
<p>Данные взяты с сайта Правительства Москвы (<a href="http://mos.ru/documents/?id_4=127520/">http://mos.ru/documents/?id_4=127520/</a>).</p>
<p>Дальше, дело за малым.</p>
<p>Поддержите нас в конкурсе – установите наше приложение!</p>
<p><a href="http://windowsphone.com/s?appid=2d6f971f-6e13-4b93-b173-6d778a2c8032"><img src="http://dl.dropbox.com/u/7022824/Download-EN-Med.png" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/3hV8WCRHPDpCglowoX89BGA5qfk/0/da"><img src="http://feedads.g.doubleclick.net/~a/3hV8WCRHPDpCglowoX89BGA5qfk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3hV8WCRHPDpCglowoX89BGA5qfk/1/da"><img src="http://feedads.g.doubleclick.net/~a/3hV8WCRHPDpCglowoX89BGA5qfk/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=jiNh5JBXAhw:xnfo6LELT7U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/jiNh5JBXAhw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2011/12/wp7-novyj-god-2012-konkurs-karta-jarmarok-moskva/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2011/12/wp7-novyj-god-2012-konkurs-karta-jarmarok-moskva/</feedburner:origLink></item>
		<item>
		<title>Buy Kindle, save kittens</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/xQ7TwcshGwk/</link>
		<comments>http://sorokoletov.com/2011/09/buy-kindle-save-kittens/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 18:27:10 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[advice]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[note]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=550</guid>
		<description><![CDATA[If you still don&#8217;t have a Kindle, you should definitely buy one.
A lof of fun and reading is guaranteed.

]]></description>
			<content:encoded><![CDATA[<p>If you still don&#8217;t have a Kindle, you should definitely buy one.<br />
A lof of fun and reading is guaranteed.</p>
<p><iframe src="http://rcm.amazon.com/e/cm?t=httpsorokolco-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B002Y27P3M&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>

<p><a href="http://feedads.g.doubleclick.net/~a/cT_T8-sYL2aDadRAJf-gDeIzAc8/0/da"><img src="http://feedads.g.doubleclick.net/~a/cT_T8-sYL2aDadRAJf-gDeIzAc8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/cT_T8-sYL2aDadRAJf-gDeIzAc8/1/da"><img src="http://feedads.g.doubleclick.net/~a/cT_T8-sYL2aDadRAJf-gDeIzAc8/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=xQ7TwcshGwk:vgOoP1bMn2w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/xQ7TwcshGwk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2011/09/buy-kindle-save-kittens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2011/09/buy-kindle-save-kittens/</feedburner:origLink></item>
		<item>
		<title>Windows Phone 7.0 handling text entry screens and keyboard layouts</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/0cH_R5IDP-w/</link>
		<comments>http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 13:05:04 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[windowsphone]]></category>
		<category><![CDATA[wp7dev]]></category>
		<category><![CDATA[yoohoo]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=536</guid>
		<description><![CDATA[As it happens sometimes, I had to develop simple page with one textbox at the bottom of the page. Designer put attention on this screen – “page title should be visible even with opened keyboard”.

Pretty easy piece of work. Let’s do that:
0. Understand how it works.
When SIP keyboard is rendered, PhoneApplicationFrame.TranslateTransform.Y is set to specific [...]]]></description>
			<content:encoded><![CDATA[<p>As it happens sometimes, I had to develop simple page with one textbox at the bottom of the page. Designer put attention on this screen – “page title should be visible even with opened keyboard”.</p>
<p><a href="http://sorokoletov.com/wp-content/uploads/2011/08/image6.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sorokoletov.com/wp-content/uploads/2011/08/image_thumb3.png" border="0" alt="image" width="148" height="244" /></a><a href="http://sorokoletov.com/wp-content/uploads/2011/08/image7.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sorokoletov.com/wp-content/uploads/2011/08/image_thumb4.png" border="0" alt="image" width="148" height="244" /></a></p>
<p>Pretty easy piece of work.<span id="more-536"></span> Let’s do that:</p>
<h4>0. Understand how it works.</h4>
<p>When SIP keyboard is rendered, PhoneApplicationFrame.TranslateTransform.Y is set to specific values (-259 in landscape orientation, -339 in portrait orientation). To update layout, we&#8217;ll just set top margin to the specified value(-s) and after that Silverlight layout system will fix the issue.</p>
<h4>1. Create simple windows phone page</h4>
<pre class="brush: xml;gutter: false;">&lt;phone:PhoneApplicationPage
    x:Class="Test.Keyboard.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape"
    &gt;
    &lt;Grid x:Name="LayoutRoot" &gt;
        &lt;Grid.RowDefinitions&gt;
            &lt;RowDefinition Height="Auto"/&gt;
            &lt;RowDefinition Height="*"/&gt;
            &lt;RowDefinition Height="Auto"/&gt;
        &lt;/Grid.RowDefinitions&gt;
        &lt;StackPanel Grid.Row="0" Margin="12,17,0,28"&gt;
            &lt;TextBlock Text="WINDOWS PHONE" Style="{StaticResource PhoneTextNormalStyle}"/&gt;
            &lt;TextBlock Text="developer's ?" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/&gt;
        &lt;/StackPanel&gt;
        &lt;Grid Grid.Row="1" Margin="12,0,12,0"&gt;&lt;/Grid&gt;
        &lt;TextBox Grid.Row="2" LostFocus="TextBoxLostFocus"/&gt;
    &lt;/Grid&gt;
&lt;/phone:PhoneApplicationPage&gt;</pre>
<h4>2. Add some nice magic inside the page</h4>
<pre class="brush: csharp;gutter: false;">public partial class MainPage : PhoneApplicationPage
    {
        private const double LandscapeShift = -259d;
        private const double LandscapeShiftWithBar = -328d;
        private const double Epsilon = 0.00000001d;
        private const double PortraitShift = -339d;
        private const double PortraitShiftWithBar = -408d;

        public static readonly DependencyProperty TranslateYProperty = DependencyProperty.Register("TranslateY", typeof(double), typeof(MainPage), new PropertyMetadata(0d, OnRenderXPropertyChanged));

        public MainPage()
        {
            InitializeComponent();
            Loaded += MainPageLoaded;
        }

        public double TranslateY
        {
            get { return (double)GetValue(TranslateYProperty); }
            set { SetValue(TranslateYProperty, value); }
        }

        private static void OnRenderXPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ((MainPage)d).UpdateTopMargin((double)e.NewValue);
        }

        private void MainPageLoaded(object sender, RoutedEventArgs e)
        {
            BindToKeyboardFocus();
        }

        private void BindToKeyboardFocus()
        {
            PhoneApplicationFrame frame = Application.Current.RootVisual as PhoneApplicationFrame;
            if (frame != null)
            {
                var group = frame.RenderTransform as TransformGroup;
                if (group != null)
                {
                    var translate = group.Children[0] as TranslateTransform;
                    var translateYBinding = new Binding("Y");
                    translateYBinding.Source = translate;
                    SetBinding(TranslateYProperty, translateYBinding);
                }
            }
        }

        private void UpdateTopMargin(double translateY)
        {
            if (IsClose(translateY, LandscapeShift) || IsClose(translateY, PortraitShift)
||IsClose(translateY, LandscapeShiftWithBar) || IsClose(translateY, PortraitShiftWithBar)
)
            {
                LayoutRoot.Margin = new Thickness(0, -translateY, 0, 0);
            }
        }

        private bool IsClose(double a, double b)
        {
            return Math.Abs(a - b) &lt; Epsilon;
        }

        private void TextBoxLostFocus(object sender, RoutedEventArgs e)
        {
            LayoutRoot.Margin = new Thickness();
        }
    }</pre>
<h4>3. Have fun &#8211; example and sources</h4>
<p>Here is the demo project with sources.<br />
<a href="http://sorokoletov.com/wp-content/uploads/2011/08/Test.Keyboard.zip">Test.Keyboard.zip</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/WO8ya1J3E7VF6_01vl1PWoG7o7s/0/da"><img src="http://feedads.g.doubleclick.net/~a/WO8ya1J3E7VF6_01vl1PWoG7o7s/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WO8ya1J3E7VF6_01vl1PWoG7o7s/1/da"><img src="http://feedads.g.doubleclick.net/~a/WO8ya1J3E7VF6_01vl1PWoG7o7s/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=0cH_R5IDP-w:tVnEpZHX1kg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/0cH_R5IDP-w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/</feedburner:origLink></item>
		<item>
		<title>Secondary Tiles in Mango, Wp7</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/cavScV1DuQI/</link>
		<comments>http://sorokoletov.com/2011/08/secondary-tiles-in-mango-wp7/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 09:26:21 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mango]]></category>
		<category><![CDATA[tiles]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=523</guid>
		<description><![CDATA[Hi there!
Here is a short howto on creating secondary tiles in mango from XAML-ed controls:
1. Create usercontrol and set there markup for future tile. Do not use OpacityMask with ImageBrush, it just doesn’t work.
(see attached example, just ordinary usercontrol)
2. Render tiles to Isolated storage

internal static StandardTileData PrepareModelTile(ViewModel selectedModel)
        [...]]]></description>
			<content:encoded><![CDATA[<p>Hi there!</p>
<p>Here is a short howto on creating secondary tiles in mango from XAML-ed controls:</p>
<p>1. Create usercontrol and set there markup for future tile. Do not use OpacityMask with ImageBrush, it just doesn’t work.</p>
<p>(see <a href="http://sorokoletov.com/wp-content/uploads/2011/08/Test.Tiles.zip">attached example</a>, just ordinary usercontrol)</p>
<p>2. Render tiles to Isolated storage</p>
<pre class="brush: csharp;gutter: false;">
internal static StandardTileData PrepareModelTile(ViewModel selectedModel)
        {
            var frontTileImage = SecondaryTileHelper.GetModelTileFrontImage(selectedModel);
            var backTileImage = SecondaryTileHelper.GetModelTileBackImage(selectedModel);
            using (var store = System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (!store.DirectoryExists(@"Shared\ShellContent"))
                {
                    store.CreateDirectory(@"Shared\ShellContent");
                }
                using (var stream = store.OpenFile(@"Shared\ShellContent\secondarytile_front.jpg", FileMode.OpenOrCreate))
                {
                    frontTileImage.SaveJpeg(stream, (int)Constants.SecondaryTileSize, (int)Constants.SecondaryTileSize, 0, 100);
                }
                using (var stream = store.OpenFile(@"Shared\ShellContent\secondarytile_back.jpg", FileMode.OpenOrCreate))
                {
                    backTileImage.SaveJpeg(stream, (int)Constants.SecondaryTileSize, (int)Constants.SecondaryTileSize, 0, 100);
                }
            }
            StandardTileData newTileData = new StandardTileData
                                               {
                                                   BackgroundImage = new Uri("isostore:/Shared/ShellContent/secondarytile_front.jpg", UriKind.Absolute),
                                                   BackBackgroundImage = new Uri("isostore:/Shared/ShellContent/secondarytile_back.jpg", UriKind.Absolute)
                                               };
            return newTileData;
        }
</pre>
<p>3. Pin tile</p>
<pre class="brush: csharp;gutter: false;">
 private void MagicButtonClick(object sender, RoutedEventArgs e)
        {
            ViewModel model = new ViewModel()
                                  {
                                      Name = "Futurama",
                                      Episode = "S02E08",
                                      ImagePath = new Uri("/futurama.png", UriKind.Relative),
                                  };

            string currentTileUrl = string.Format("/Viewer.xaml?name={0}&#038;episode={1}", model.Name, model.Episode);
            // Look to see whether the Tile already exists and if so, don't try to create it again.
            ShellTile currentModelTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString() == currentTileUrl);
            //if tile exists, delete and create new one (useful for debug)
            if (currentModelTile != null)
            {
                currentModelTile.Delete();
            }
            StandardTileData newTileData = SecondaryTileHelper.PrepareModelTile(model);
            ShellTile.Create(new Uri(currentTileUrl, UriKind.Relative), newTileData);
        }
</pre>
<p>Here is how it looks:</p>
<p><a href="http://sorokoletov.com/wp-content/uploads/2011/08/image.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" src="http://sorokoletov.com/wp-content/uploads/2011/08/image_thumb.png" border="0" alt="image" width="244" height="113" /></a> <a href="http://sorokoletov.com/wp-content/uploads/2011/08/image1.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" src="http://sorokoletov.com/wp-content/uploads/2011/08/image_thumb1.png" border="0" alt="image" width="244" height="108" /></a></p>
<p><a href="http://sorokoletov.com/wp-content/uploads/2011/08/Test.Tiles.zip">Example to download: Test.Tiles.zip</a></p>
<p><strong>Update:</strong><br />
Another helpful article on that topic: <a href="http://windcape.posterous.com/how-to-generate-a-custom-live-tile-directly-o">http://windcape.posterous.com/how-to-generate-a-custom-live-tile-directly-o</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/TnjLDmovFQzfOPGaSDpG8LGDF7g/0/da"><img src="http://feedads.g.doubleclick.net/~a/TnjLDmovFQzfOPGaSDpG8LGDF7g/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/TnjLDmovFQzfOPGaSDpG8LGDF7g/1/da"><img src="http://feedads.g.doubleclick.net/~a/TnjLDmovFQzfOPGaSDpG8LGDF7g/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=cavScV1DuQI:MSNVKC70FzQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/cavScV1DuQI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2011/08/secondary-tiles-in-mango-wp7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2011/08/secondary-tiles-in-mango-wp7/</feedburner:origLink></item>
		<item>
		<title>Mango ScrollViewer Issue</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/AJrFYxyJtsA/</link>
		<comments>http://sorokoletov.com/2011/08/mango-scrollviewer-issue/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 17:51:09 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mango]]></category>
		<category><![CDATA[scrollviewer]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[wp7dev]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=516</guid>
		<description><![CDATA[Recently I found out that on Mango Beta 2 Refresh (SDK 7.1 RC) page with simple scrollviewer and long vertical content can be scrolled also horizontally (yay!)
Google didn’t suggest anything so I had to dive into that issue myself.
So, basically, issue is caused by HorizontalScrollBarVisibility=&#8221;Hidden&#8221; property value of ScrollViewer.
Without it you can do only verticall [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I found out that on Mango Beta 2 Refresh (SDK 7.1 RC) page with simple scrollviewer and long vertical content can be scrolled also horizontally (yay!)</p>
<p>Google didn’t suggest anything so I had to dive into that issue myself.</p>
<p>So, basically, issue is caused by <strong>HorizontalScrollBarVisibility=&#8221;Hidden&#8221;</strong> property value of <strong>ScrollViewer</strong>.</p>
<p>Without it you can do only verticall scrolling, and if you accidentally put this property on, then you can do both horizontal and vertical scrolling.</p>
<p>Here is video with normal and wrong behavior:</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:0a4d350c-5f15-4e62-9deb-ce3c43a7d00f" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;">
<div><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="390" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/EoNfWJrO9VM?hl=en&amp;hd=1" /><embed type="application/x-shockwave-flash" width="640" height="390" src="http://www.youtube.com/v/EoNfWJrO9VM?hl=en&amp;hd=1"></embed></object></div>
<div style="width: 640px; clear: both; font-size: .8em;">Demo of the issue</div>
</div>

<p><a href="http://feedads.g.doubleclick.net/~a/Fsxqt9-v8TL9TkqMxl-mn2G09UU/0/da"><img src="http://feedads.g.doubleclick.net/~a/Fsxqt9-v8TL9TkqMxl-mn2G09UU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Fsxqt9-v8TL9TkqMxl-mn2G09UU/1/da"><img src="http://feedads.g.doubleclick.net/~a/Fsxqt9-v8TL9TkqMxl-mn2G09UU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=AJrFYxyJtsA:Ue9buKGk8t4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/AJrFYxyJtsA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2011/08/mango-scrollviewer-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2011/08/mango-scrollviewer-issue/</feedburner:origLink></item>
		<item>
		<title>Я иду на MsDevCon’11</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/Ov7qI-431a4/</link>
		<comments>http://sorokoletov.com/2011/05/ya-idu-na-msdevcon11/#comments</comments>
		<pubDate>Wed, 25 May 2011 06:12:03 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[msdevcon]]></category>
		<category><![CDATA[wp7]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=513</guid>
		<description><![CDATA[Добрый день!
Наше приложение победило в конкурсе мобильных приложений для Windows Phone 7  в номинации &#8220;самое скачиваемое приложение&#8221;!
http://blogs.msdn.com/b/_devcon11/archive/2011/05/21/quot-windows-phone-7-devcon-2011-quot.aspx
И, собственно, увидимся на #msdevcon

]]></description>
			<content:encoded><![CDATA[<p>Добрый день!</p>
<p>Наше приложение победило в конкурсе мобильных приложений для Windows Phone 7  в номинации &#8220;самое скачиваемое приложение&#8221;!</p>
<p><a href="http://blogs.msdn.com/b/_devcon11/archive/2011/05/21/quot-windows-phone-7-devcon-2011-quot.aspx">http://blogs.msdn.com/b/_devcon11/archive/2011/05/21/quot-windows-phone-7-devcon-2011-quot.aspx</a></p>
<p>И, собственно, увидимся на #msdevcon</p>
<p><a href="http://www.msdevcon.ru"><img src="http://event.msdevcon.ru/userfiles/image/DC_button_180x150_2.png" border="0" alt="" width="180" height="150" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/sPSqKlr4wuydNoqt0cFykxCrK7A/0/da"><img src="http://feedads.g.doubleclick.net/~a/sPSqKlr4wuydNoqt0cFykxCrK7A/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sPSqKlr4wuydNoqt0cFykxCrK7A/1/da"><img src="http://feedads.g.doubleclick.net/~a/sPSqKlr4wuydNoqt0cFykxCrK7A/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=Ov7qI-431a4:AZLLYJlvVOM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/Ov7qI-431a4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2011/05/ya-idu-na-msdevcon11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2011/05/ya-idu-na-msdevcon11/</feedburner:origLink></item>
		<item>
		<title>zTop integration with AppHub</title>
		<link>http://feedproxy.google.com/~r/AlexSorokoletov/~3/g9-MrBOWX2I/</link>
		<comments>http://sorokoletov.com/2011/05/ztop-integration-with-apphub/#comments</comments>
		<pubDate>Tue, 03 May 2011 21:17:28 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[ztop]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[MarketPlace]]></category>
		<category><![CDATA[silverlight 4]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[wp7dev]]></category>

		<guid isPermaLink="false">http://sorokoletov.com/?p=511</guid>
		<description><![CDATA[I’m glad to show you an update to the zTop which brings integration with AppHub reporting.

New functionality is completely covered in this video &#8211; http://youtu.be/0mx4LQOGmn0?hd=1
Here is just one screenshot to interest you  

]]></description>
			<content:encoded><![CDATA[<p>I’m glad to show you an update to the zTop which brings integration with AppHub reporting.<br />
<span id="more-511"></span><br />
New functionality is completely covered in this video &#8211; <a title="http://youtu.be/0mx4LQOGmn0?hd=1" href="http://youtu.be/0mx4LQOGmn0?hd=1">http://youtu.be/0mx4LQOGmn0?hd=1</a></p>
<p>Here is just one screenshot to interest you <img src='http://sorokoletov.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://sorokoletov.com/wp-content/uploads/2011/05/image.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" src="http://sorokoletov.com/wp-content/uploads/2011/05/image_thumb.png" border="0" alt="image" width="496" height="316" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/1ouE83528jM5_HQx-gubzu_Ce3Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/1ouE83528jM5_HQx-gubzu_Ce3Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/1ouE83528jM5_HQx-gubzu_Ce3Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/1ouE83528jM5_HQx-gubzu_Ce3Q/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlexSorokoletov?a=g9-MrBOWX2I:8eivYIkvSr8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlexSorokoletov?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlexSorokoletov/~4/g9-MrBOWX2I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sorokoletov.com/2011/05/ztop-integration-with-apphub/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://sorokoletov.com/2011/05/ztop-integration-with-apphub/</feedburner:origLink></item>
	</channel>
</rss>

