CodeBlog: створення розширення для блогів в Visual Studio 2010 Частина 3, Різне, Програмування, статті

Останній компонент CodeBlog, Який ми обговоримо – вікно інструментів, яке містить список попередніх записів блогу. Як згадувалося вище, заготівля вікна інструментів, яке показується, коли користувач вибирає пункт “Blog and Tweet Entries “з меню” Other Windows “, вже була створена за допомогою майстра.
Наше вікно інструментів буде керувати вмістом вікна Blog and Tweet entries. Фрейм, наданий оболонкою Visual Studio , Буде реалізовувати всі docking – поведінка нашого вікна автоматично.


CodeBlog


Ми встановлюємо вміст вікна інструментів через користувальницький елемент керування. Для CodeBlog ми створюємо список, що випадає (listBox), Який буде відображати запис блогу в призначеному для користувача елементі управління XAML.
myControl.listBox1.ItemsSource = BlogEntries;

BlogEntries реалізовується як ObservableCollection об’єкта BlogEntry, тому, коли ми робимо зміни, колекція listbox “а буде повідомлена про ці зміни і її відображення буде оновлено. BlogEntry це простий клас, який включає властивості DateCreated, Description, і BlogUrl. Отже, що б зробити гарне відображення записи блогу в випадаючому списку вікна інструментів, ми повинні створити шаблон.
Шаблон містить три текстових блоку, один для дати, один для вмісту, один для гіперлінк. Основна частина шаблону XAML виглядає приблизно так:


<TextBlock Text=”{Binding Path=DateCreated,StringFormat=Blogged: {0:f}}”


Padding=”8,0,8,0″


FontSize=”14″


FontWeight=”Bold”
Background=”DarkBlue”


Foreground=”White”


DockPanel.Dock=”Top”/>
<TextBlock Text=”{Binding Path=Description}”


Margin=”16,10,16,10″


Background=”Gainsboro”


FontFamily=”Courier New”


DockPanel.Dock=”Top”/>
<TextBlock Padding=”4,0,0,0″


DockPanel.Dock=”Top”>


<Hyperlink NavigateUri=”{Binding Path=BlogUrl}”


RequestNavigate=”Hyperlink_RequestNavigate”>


<TextBlock Text=”{Binding Path=BlogUrl}”/>


</Hyperlink>
</TextBlock>


Тут є пара цікавих моментів. Для властивості Дата використовується StringFormat, Що б створити заголовок, що містить відформатовану дату. Гіперпосилання є інтерактивною, і відповідний елемент управління реагує на подію RequestNavigate, Щоб показати посилання в браузері. Хоча ми й не дуже творчо підійшли до таких питань як напівпрозорість або зображення, стає ясно, що побудова вмісту вікна інструментів як елемента WPF надає величезну гнучкість у налаштуванні користувальницького інтерфейсу.
З CodeBlog можна зробити значно більше. Про розпізнавання мови говорилося вище, більш тісний зворотний зв’язок з веб-службами, і постійна взаємодія з блогом (хоча не ясно, як довго ви хочете зберігати старі записи в блозі у вигляді обрамленого тексту). Але в той же час CodeBlog не може бути багатофункціональним, його створення продемонстрував деякі загальні кроки побудови розширень Visual Studio. Наступним кроком буде застосування цього досвіду для нових інноваційних розширень.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*