<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Комментарии к записи: Урок 3: User Control, Forms(модальные и не модальные) и Drag&amp;Drop</title>
	<atom:link href="http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/feed/" rel="self" type="application/rss+xml" />
	<link>http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 26 Aug 2008 03:03:34 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Автор: luchaninov</title>
		<link>http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/#comment-14</link>
		<dc:creator>luchaninov</dc:creator>
		<pubDate>Wed, 18 Jun 2008 19:25:26 +0000</pubDate>
		<guid isPermaLink="false">http://luchaninov.wordpress.com/?p=56#comment-14</guid>
		<description>Не знаю с чем связано но мне победить баг не удалось - остальные контролы коректно отрабатывают связывание данных. Побовал даже принудительно фокус вешать на ворму и дочерние контролы - не помогло. Будем надеятся, что в релизе исправят.
А реализовывать через лист бокс не пробовали? Мне почему-то кажется что должно выличить.</description>
		<content:encoded><![CDATA[<p>Не знаю с чем связано но мне победить баг не удалось &#8211; остальные контролы коректно отрабатывают связывание данных. Побовал даже принудительно фокус вешать на ворму и дочерние контролы &#8211; не помогло. Будем надеятся, что в релизе исправят.<br />
А реализовывать через лист бокс не пробовали? Мне почему-то кажется что должно выличить.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Dmitriy</title>
		<link>http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/#comment-13</link>
		<dc:creator>Dmitriy</dc:creator>
		<pubDate>Wed, 18 Jun 2008 16:53:06 +0000</pubDate>
		<guid isPermaLink="false">http://luchaninov.wordpress.com/?p=56#comment-13</guid>
		<description>http://dump.ru/file_catalog/680430
В этот тестовом проекте генерируется список телефонов, выводится в DataGrid на главную форму. При изменении выделенной записи происходит вызов модального окна.

Обратите внимание, что в TexBox актуальные значения из выделенной записи отображаются сразу после вызова окна, а в DataGrid вызываются &quot;старые значения&quot;, и обновление происходит только после нажатия и удерживания кнопки закрытия модального окна (при потере фокуса?).</description>
		<content:encoded><![CDATA[<p><a href="http://dump.ru/file_catalog/680430" rel="nofollow">http://dump.ru/file_catalog/680430</a><br />
В этот тестовом проекте генерируется список телефонов, выводится в DataGrid на главную форму. При изменении выделенной записи происходит вызов модального окна.</p>
<p>Обратите внимание, что в TexBox актуальные значения из выделенной записи отображаются сразу после вызова окна, а в DataGrid вызываются &laquo;старые значения&raquo;, и обновление происходит только после нажатия и удерживания кнопки закрытия модального окна (при потере фокуса?).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Dmitriy</title>
		<link>http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/#comment-12</link>
		<dc:creator>Dmitriy</dc:creator>
		<pubDate>Wed, 18 Jun 2008 15:48:56 +0000</pubDate>
		<guid isPermaLink="false">http://luchaninov.wordpress.com/?p=56#comment-12</guid>
		<description>То что было выложено - это лишь тестовый пример для отлова бага. В рабочем проекте с модальным окном и областью доступности все в порядке :) Проведенные изыскания обнаружили, что бага существует, но несколько иного рода, и, конечно же, отношения к Collapsed не имеет. Суть заключается в том, что в ДатаГриде не меняется свойство . Что бы не выбиралось - все равно будет -1. Вот что удалось нарыть: http://silverlight.net/forums/p/18353/61732.aspx

Видимо по этой причине динамическая подписка на события не помогает. Событие возникает всегда, вне зависимости от того, было ли значение DataGrid.SelectedItem изменено.
GridLongers.ItemsSource = source;           
GridLongers.SelectionChanged += new EventHandler(GridLongers_SelectionChanged);

Как следствие, использовать следующий код (который первым приходит в голову) невозможно.
if(GridLongers.SelectedIndex !=-1)
              Detail.Visibility = Visibility.Visible;
(Detail - модальная форма)
Однако, это еще не все сюрпризы которые имеются в связке DataGrid и модальных формах. Сейчас модифицирую проект, чтоб продемонстрировать странный эффект.</description>
		<content:encoded><![CDATA[<p>То что было выложено &#8211; это лишь тестовый пример для отлова бага. В рабочем проекте с модальным окном и областью доступности все в порядке <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Проведенные изыскания обнаружили, что бага существует, но несколько иного рода, и, конечно же, отношения к Collapsed не имеет. Суть заключается в том, что в ДатаГриде не меняется свойство . Что бы не выбиралось &#8211; все равно будет -1. Вот что удалось нарыть: <a href="http://silverlight.net/forums/p/18353/61732.aspx" rel="nofollow">http://silverlight.net/forums/p/18353/61732.aspx</a></p>
<p>Видимо по этой причине динамическая подписка на события не помогает. Событие возникает всегда, вне зависимости от того, было ли значение DataGrid.SelectedItem изменено.<br />
GridLongers.ItemsSource = source;<br />
GridLongers.SelectionChanged += new EventHandler(GridLongers_SelectionChanged);</p>
<p>Как следствие, использовать следующий код (который первым приходит в голову) невозможно.<br />
if(GridLongers.SelectedIndex !=-1)<br />
              Detail.Visibility = Visibility.Visible;<br />
(Detail &#8211; модальная форма)<br />
Однако, это еще не все сюрпризы которые имеются в связке DataGrid и модальных формах. Сейчас модифицирую проект, чтоб продемонстрировать странный эффект.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: luchaninov</title>
		<link>http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/#comment-11</link>
		<dc:creator>luchaninov</dc:creator>
		<pubDate>Wed, 18 Jun 2008 14:06:09 +0000</pubDate>
		<guid isPermaLink="false">http://luchaninov.wordpress.com/?p=56#comment-11</guid>
		<description>Назначать делегат надо после загрузки данных.
И попробуйте для удобства в теги основного контрола страницы добавить MinWidth=&quot;400&quot; MinHeight=&quot;300&quot;, убрав при этом просто высоту и ширину. Это позволит в дизайне нормально работать, а рантайме растягивать на весь браузер. - Всплывет баг(масенький такой), просто у Вас немодальная форма - за ней на гриде селектятся строки. Надо еще полупрозрачный прямоугольник натянуть: http://ruspiegel.net/?p=509.</description>
		<content:encoded><![CDATA[<p>Назначать делегат надо после загрузки данных.<br />
И попробуйте для удобства в теги основного контрола страницы добавить MinWidth=&raquo;400&#8243; MinHeight=&raquo;300&#8243;, убрав при этом просто высоту и ширину. Это позволит в дизайне нормально работать, а рантайме растягивать на весь браузер. &#8211; Всплывет баг(масенький такой), просто у Вас немодальная форма &#8211; за ней на гриде селектятся строки. Надо еще полупрозрачный прямоугольник натянуть: <a href="http://ruspiegel.net/?p=509" rel="nofollow">http://ruspiegel.net/?p=509</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: luchaninov</title>
		<link>http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/#comment-10</link>
		<dc:creator>luchaninov</dc:creator>
		<pubDate>Wed, 18 Jun 2008 13:55:51 +0000</pubDate>
		<guid isPermaLink="false">http://luchaninov.wordpress.com/?p=56#comment-10</guid>
		<description>Однозначно это не баг. Скорее всего дело вот в этом: GotFocus=&quot;LongersMain_Loaded&quot; в теге Grid page.xaml

Суть в чем - когда ваш Grid получает фокус вы заполняете его данными, а я не знаю как на это реагирует заполняемый контрол DataGrid, вполне возможно что он АВТОМАТИЧЕСКИ выбирает селектед итемз, а у вас в следующей строке присвоена функия показывать окно при смене селектед итемза в дата гриде.

Дело в том, что это логически не правельно выстроеная “силвелат” программа. Xaml это сборка интерфейса, поэтому Xaml и С# файлы выполняются НЕОДНОВРЕМЕННО! Вам надо ДИНАМИЧЕСКИ, в файле page.xaml.cs назначить фунцию для обработки смены фокуса в датагриде(см. делегаты). Но я не сильный советчик ;-) - все таки как ни как чайник.
Или пересмотреть логику самой программки.</description>
		<content:encoded><![CDATA[<p>Однозначно это не баг. Скорее всего дело вот в этом: GotFocus=&raquo;LongersMain_Loaded&raquo; в теге Grid page.xaml</p>
<p>Суть в чем &#8211; когда ваш Grid получает фокус вы заполняете его данными, а я не знаю как на это реагирует заполняемый контрол DataGrid, вполне возможно что он АВТОМАТИЧЕСКИ выбирает селектед итемз, а у вас в следующей строке присвоена функия показывать окно при смене селектед итемза в дата гриде.</p>
<p>Дело в том, что это логически не правельно выстроеная “силвелат” программа. Xaml это сборка интерфейса, поэтому Xaml и С# файлы выполняются НЕОДНОВРЕМЕННО! Вам надо ДИНАМИЧЕСКИ, в файле page.xaml.cs назначить фунцию для обработки смены фокуса в датагриде(см. делегаты). Но я не сильный советчик <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  &#8211; все таки как ни как чайник.<br />
Или пересмотреть логику самой программки.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Dmitriy</title>
		<link>http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/#comment-8</link>
		<dc:creator>Dmitriy</dc:creator>
		<pubDate>Wed, 18 Jun 2008 10:44:18 +0000</pubDate>
		<guid isPermaLink="false">http://luchaninov.wordpress.com/?p=56#comment-8</guid>
		<description>МодАльного, конечно же... Извините, кажется автозамена срабатывает :).</description>
		<content:encoded><![CDATA[<p>МодАльного, конечно же&#8230; Извините, кажется автозамена срабатывает <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Dmitriy</title>
		<link>http://luchaninov.wordpress.com/2008/06/17/%d1%83%d1%80%d0%be%d0%ba-3-user-control-forms%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d0%b8-dragdrop/#comment-7</link>
		<dc:creator>Dmitriy</dc:creator>
		<pubDate>Wed, 18 Jun 2008 08:56:56 +0000</pubDate>
		<guid isPermaLink="false">http://luchaninov.wordpress.com/?p=56#comment-7</guid>
		<description>C интересом читаю все уроки по сервелату :) Однако, в случае с модельными окнами возникает интересная бага: если в главном окне существует DataGrid и в него добавляются данные, то свойство Collapced модельного окна - не работает, и оно отображается сразу после загрузки данных в ДатаГрид. Причем, не работает даже явное указание сокрытия окна сразу после закрытия данных.
Привожу проект на котором удалось выловить багу: http://dump.ru/file_catalog/674940
Может кто знает как это обойти?</description>
		<content:encoded><![CDATA[<p>C интересом читаю все уроки по сервелату <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Однако, в случае с модельными окнами возникает интересная бага: если в главном окне существует DataGrid и в него добавляются данные, то свойство Collapced модельного окна &#8211; не работает, и оно отображается сразу после загрузки данных в ДатаГрид. Причем, не работает даже явное указание сокрытия окна сразу после закрытия данных.<br />
Привожу проект на котором удалось выловить багу: <a href="http://dump.ru/file_catalog/674940" rel="nofollow">http://dump.ru/file_catalog/674940</a><br />
Может кто знает как это обойти?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
