Сообщения

Дополнение к предыдущему посту “Темы в Silverlight Toolkit October убивают валидацию в TextBox. Т.е. валидационный View. Видимо так было раньше и пока так будет, но это несложно поправить.”.

Предыдущий пост: Темы в Silverlight Toolkit October убивают валидацию в TextBox. Т.е. валидационный View. Видимо так было раньше и пока так будет, но это несложно поправить. Продолжение предыдущего поста: А вот безобразие, которое было до этого: ___________ <!--Textbox--> <Style TargetType="TextBox">     <Setter Property="BorderThickness"         Value="1"/>     <Setter Property="Background"         Value="{StaticResource ShadeBrush}"/>     <Setter Property="Foreground"         Value="#FF000000"/>     <Setter Property="Padding"         Value="2"/>     <Setter Property="BorderBrush"         Value="{StaticResource NormalBorderBrush}" />     <Setter Property="Template">         <Setter.Value>             <ControlTemplate TargetType="TextBox">                 <Grid >                     <vsm:Vi...

Темы в Silverlight Toolkit October убивают валидацию в TextBox. Т.е. валидационный View. Видимо так было раньше и пока так будет, но это несложно поправить.

Если использовать темы из Silverlight Toolkit, то сразу бросается в глаза, что при их применениее сразу убивается View для валидации в TextBox. Не знаю с чем связано такое безобразие, но вернуть это все несложно. Для этого нужно выполить следующее: Рассмотрим стандартно применяемые стиль и шаблоны для TextBox на странице TextBox Styles and Templates (En) Оттуда скопируем в наш файл, взятой из Silverlight Toolkit темы, “ControlTemplate for ValidationTooltip” . <ControlTemplate x:Key="ValidationToolTipTemplate"> … </ControlTemplate> Поскольку к этому шаблону из стиля TextBox идет обращение, как к статическому ресурсу по имени ValidationToolTipTemplate, то размещать его XAML надо до XAML стиля TextBox. Далее нам осталось только дополнить недостающие части XAML стиля для TextBox <Style TargetType="TextBox"> … </Style> Сравните аккуратно исходный стиль и стиль в вашей теме и вы легко определите место куда вставить недостающие VisualState’ы и ...

Выполнение произвольной промежуточной операции над данными внутривыражения LINQ

Первый абзац это теория и вступление, переходите к следующему, кто в теме При написании LINQ постоянно появляется желание выполнить промежуточную операцию над данными. По науке это не правильно, т.к. пока производительность не страдает каждый цикл по данным должен служить отдельной роли. Ведь LINQ это и есть цикл, определенные на языке запросов. Но, тоже по науке :), код должен быть очевиден и однотипные или связанные операции сгруппированы. Сразу ответ на тему поста: Я использую выражение LINQ “ let ” для написание промежуточной операции, но с некоторым простым ухищрением. Вот пример: var orgUnits = (     from el in orgUnitsDict.Values     // в промежуточной операции отсортируем элементы в дочернем объекте     let dummy = el.Phones = el.Phones .OrderBy(p => p.PhoneStr).ToList()     orderby el.ParentId,     el.IsGroup descending,     el.Name     select el ).ToList(); Описа...

ORA-06502: PL/SQL: numeric or value error: character string buffer toosmall

Ошибка на Oracle ORA-06502: PL/SQL: numeric or value error: character string buffer too small В моем случае это связано с тем, что функция или процедура Oracle имеет возвращаемый парампетр Varchar2 и я использую ODP.NET и следующий код устанавливающий параметр на стороне ADO.NET (т.е. на стороне .NET Framework приложения): oCom.Parameters.Add("o_name", OracleDbType.Varchar2, ParameterDirection.Output); Неправильно, сказала Oracle всем :), надо использовать следующее извращение, сказала Оракля: oCom.Parameters.Add("o_name", OracleDbType.Varchar2, 300, null, ParameterDirection.Output); Здесь 300 – это размерность. Любая, но не меньше, чем вы ожидаете. null – ну типа как изначальное значени. Уже стотый раз спотыкаюсь на этом, но постоянно забываю об этой несуразности. С облегчением :) !

Silverlight Drag And Drop. У Сильверлайта появился свой нормальный драг дроп с выходом Toolkit от октября 2009 года.

Очень хорошо! Но оказалось, что это заметно тормозит при количестве элементов в списке от 500. Например, если в ListBox 3 000 элементов, то какая-либо реакция проявляется только через 5 секунд. Пока проджекта не уговорю сделать пейджинг и фильтрацию, придется, для некоторых задач, продолжить пользоваться своим аналогичным фреймворком, который работает ваабще без задержек. Но все равно стоит использовать решение из Toolkit, т.к., например, мое решение не умеет разворачивать ноды в TreeView. Недолго сделать, но прикручивать все такие мелочи – жизни не хватит :) . Ниже источники и описание. Блог Tim Heuer "Silverlight Toolkit adds DragDrop" EN – здесь ознакомительное описание, позволяющее начать работать с примером. Silverlight Toolkit EN – а здесь исходник с примером. Если вы хотите глубоко кастомизировать ваши решения, то нужно смотреть New with the Silverlight Toolkit: Drag and Drop Support for all your Favorite Controls! (Part 1) и Silverlight Toolkit Drag Drop (Part 2): ...

Яндекс устал

Никогда не задумывался, почему Яндекс непопулярен у активных и продвинутых пользователи интернета. Почему же предпочитают Google. Просто Яндекс медленный. Не хватает ресурсов, что бы оперативно проиндексировать весь интернет и поспевать за его изменениями и новостями. Там, видимо, посчитали, что если они будут активно переиндексировать популярный контент, то этого достаточно. Я люблю оба поисковика, но если мне нужна информация посвежее, я пользуюсь Google. Хотя Яндекс, бывает, что приятно удивляет :)

Задание прикрепленного свойства в XALM. Set Attached Properties in XALM.

Сразу несколько примеров, чтоб все стало ясно Вот эту запись: <Button Grid.Row=”1”>     <TextBlock>1234567890</TextBlock> </Button> Можно записать так: <Button>     <Grid.Row>         1     </Grid.Row>     <TextBlock>1234567890</TextBlock> </Button> Пример из жизни: <Border>     <vsm:VisualStateManager.VisualStateGroups>         <vsm:VisualStateGroup x:Name="CommonStates">             <vsm:VisualState x:Name="Normal" />         </vsm:VisualStateGroup>     </vsm:VisualStateManager.VisualStateGroups> </Border> Т.е. помимо задания прекрепленных свойств через атрибуты, их можно задавать в нодах XALM. Это очень хорошо пригодиться при кастом...