(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Библиотека Vista Bridge (исходники)

Источник: habrahabr
raptor

Сегодня я хочу написать немного о библиотеке Vista Bridge, которая "восполняет" некоторую функциональность, которая отсутствует в составе .NET Framework 3.0.


Небольшое введение.

С выпуском .NET FW 3.0, многие разработчики могли заметить, что там не реализованы некоторые вещи, которые были введены в Windows Vista, хотя сам фреймворк был выпушен именно с ее выходом. Это:

  • Vista style Task - диалоги в стиле Vista.
  • File Dialogs - диалоги работы с файлами, которые появились в Windows Vista.
  • Application Recovery and Restart - это функциональность, позволяющая восстанавливать приложение после сбоя.
  • Known Folders - это новый сервис, позволяющий получать быструю информацию об "именованных" каталогах, которые использует ОС Vista (например такая информация, как является ли этот каталог жесткой ссылкой или нет, виртуальный он или нет и т.п.)
  • Network Lists - список сетей.
  • Управление питанием компьютера
  • Контрол типа CommandLink
  • и др.

Конечно, все этого можно реализовать вызовом нативных функций и написание собственных библиотек, что например и было сделано в проекте Paint.NET, но в компании Microsoft видимо решили восполнить этот пробел и выпустили собственную библиотеку, которая содержит недостающую функциональность.
Название этой библиотеки Vista Bridge. Эта библиотека (ее исходный код) входит в состав Windows SDK, но самую свежую версию можно скачать по ссылке указанной выше.

Архив, которые скачивается по указанной ссылке, содержит исходные коды библиотеки и набор примеров.
После сборки библиотеки вы можете подключать ее к любому проекту. Сама библиотека получается не большая, всего порядка 140Кб. НО при написании проекта, вы должны учитывать 2 вещи:

  1. Приложение будет работать только в Windows Vista.
  2. В файл манифеста приложения необходимо добавить (если будут использоваться визуальные контролы) следующие строки
    1. <dependency>
    2.   <dependentAssembly>
    3.    <assemblyIdentity
    4.      type="win32"
    5.      name="Microsoft.Windows.Common-Controls"
    6.      version="6.0.0.0"
    7.      processorArchitecture="*"
    8.      publicKeyToken="6595b64144ccf1df"
    9.      language="*"
    10.     />
    11.   </dependentAssembly>
    12.  </dependency>
    * This source code was highlighted with Source Code Highlighter.
    иначе приложение у вас может свалится (по крайней мере у меня падало, пока я не добавил эти строки).

Пример создание диалогового окна

Чем хороша для WPF эта библиотека, она позволяет создавать Task Dialog в ресурсах (например окна), а потом пользоваться ими.
Ниже я привел пример как с помощью этой библиотеки можно сделать стилизованное диалоговое окно:

  1. <Window x:Class="VBSample.Window1"
  2.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.     xmlns:vl="clr-namespace:Microsoft.SDK.Samples.VistaBridge.Library;assembly=VistaBridgeLibrary"
  5.     Title="Window1" Height="300" Width="300">
  6.  <Window.Resources>
  7.     <vl:TaskDialog x:Key="SampleUACDialog"
  8.                   Caption="Контроль учетных записей пользователей"
  9.                   FooterText="Контроль учетных записей (UAC) помогает предотвратить несанкционированные изменения на компьютере."
  10.                   CollapsedControlText="Сведения"
  11.                   ExpandedText="C:\Windows\System\mmc.exe"
  12.                   MainIcon="Shield" Instruction="Windows требует разрешение на продолжение" Content="Если это действие запущено вами, то продолжайте. Консоль управления MMC">
  13.      <vl:TaskDialogButton Text="Продолжить"/>
  14.      <vl:TaskDialogButton Text="Отмена"/>
  15.     </vl:TaskDialog>
  16.  </Window.Resources>
  17.  <Grid>
  18.     <Button Height="23" HorizontalAlignment="Right" Margin="0,0,26,38" Name="button1" VerticalAlignment="Bottom" Width="75" Click="button1_Click">Button</Button>
  19.  </Grid>
  20. </Window>
* This source code was highlighted with Source Code Highlighter.

и код вызывающий это диалог

private void button1_Click(object sender, RoutedEventArgs e)
    {
     TaskDialog td = (TaskDialog)FindResource("SampleUACDialog");
     td.Show();
    }


* This source code was highlighted with Source Code Highlighter.

Вот, что получается (развернутый и свернутый варианты):




Вместо заключения

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

Многие возможности при создании таких тасков к сожаления не поддерживается (возможно пока). Так, свойство Content может быть только строкой, а было бы неплохо, если бы оно было контейнером для других элементов - можно было бы впихнуть туда, все что душе угодно. Так же нельзя менять размеры таких окон, но это скорее всего ограничения уже самой Windows.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 19.12.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft 365 Business Standard (corporate)
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Мир OLAP и Business Intelligence: новости, статьи, обзоры
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100