Monthly Archives: August 2007

Тормоза WPF

Допустим Вы поместили в одну из ячеек Grid’а ListBox, в который загрузили список шрифтов, которые есть у вас в системе. При этом размер ячейки Вы не выставляли, а оставили автоматическим. Естественно, чтоб использовать на полную WPF, Вы сделаете отображение написания шрифтов прямо в листбоксе. Например, так:

 

И все это будет отлично работать. Но если у Вас в системе установлено 10 тысяч шрифтов, то все уже не будет так радужно. Появятся тормоза при прокрутке листбокса.

Однако, этих неприятностей можно избежать, если жестко задать размер ячейки, в которую Вы поместили ListBox со шрифтами. Эта операция убрала у меня все тормоза начисто.

Картинки в Silverlight и глюк Firefox

Обнаружил недавно глюк с отображением картинок в Firefox’е. Одно единственное изображение, которое я использовал в качестве исходного фона для таблицы цветов, не показывалось вообще. Я решил, что я что то делаю не правильно и покопался на на тему как правильно грузить картинки. Нашел три варианта, помимо просто указания файла в XAML коде:

Просто выставление свойства:

CoolImage.SetValue(Image.SourceProperty, "bg.jpg");

Динамический XAML:

CoolImage = (Image)XamlReader.Load(@"<Image Source=bg.jpg'>");

И, наконец, вариант с даунлоадером (наиболее гибкий):

Downloader loader = new Downloader();

// Subscribe to the downloaded event
loader.Completed += new EventHandler(DownloadCompleted);

// Download the image
loader.Open("GET", new Uri("bg.jpg", UriKind.Relative));
loader.Send();

//......................

private void DownloadCompleted(object sender, EventArgs e)
{
            CoolImage.SetSource(sender as Downloader, "");
}

Последний вариант самый оптимальный, так как позволяет контролировать весь процесс загрузки. Я добавил этот код в тест с цветами, но в Firefox картинка так и не отобразилась. Надеюсь это поправят уже к бета версии Silverlight.

Как заставить контролы Dave Relyea работать в Silverlight 1.1 Alpha Refresh

[ratings] Любой кто решит написать на Silverlight что-нибудь серьезное сейчас столкнется с проблемой поиска или написания своих контролов (TextBox, Button, etc). Так как свои контролы сейчас писать почему-то не хотелось я порылся в поисках готовых контролов в сети. Оказалось есть лишь 2 достойных альтернативы в данный момент, хотя они обе мне не нравятся:

Во первых, это – http://www.netikatech.com/ – Реализация WinForms для Silverlight и Flash. Но мне хотелось получить контролы WPF, а не WinForms.

Во вторых, это – контролы, которые реализовал Dave Relyea и выложил тут. Тут очень ограниченный набор, но хотя бы есть Grid и StackPanel. Это не полноценный набор, но для экспериментов с Alpha версией вполне сойдет.

Continue reading

Поиск книг на Silverlight

Наткнулся на отличный пример использования SilverLight: Поиск книг на Амазоне (Для просмотра нужно установить Microsoft Silverlight 1.1 Alpha Refresh)

Это приложение использует поисковое апи амазона для поиска книг схожих по тематике и показывает их связи друг с другом. Проще поиграться с этим примером, чтоб понять удобство подобного поиска. В дополнение ко всему этому прикручена физика Rag-doll.

Прочитать подробнее о примере можно тут. Там же есть ссылка на исходные тексты проекта.

Continue reading