1C.Net:Предприятие – использование богатых графических возможностей .Net Framework


Windows Presentation Foundation (WPF) – презентационная система нового поколения для построения клиентских приложений Windows с ошеломляющими возможностями. Технология WPF основана на независимой от разрешения системе визуализации, построенной на векторной графике и использующей преимущества современного графического оборудования. В составWPF входят следующие средства: язык описания Extensible Application Markup Language (XAML), элементы управления, механизм привязки данных, средства разметки, 2d- и 3d-графика, анимация, стили, шаблоны, документы, медиа-элементы, текст и средства оформления текста. Презентационная система входит в состав .Net framework и доступна для использования внутри 1С:Предприятие средствами Elisy .Net Bridge, начиная с версии 3.2. Windows Presentation Framework полностью заменяет и многократно превосходит устаревающую технологию WinForms.

Статус 1С Совместимо

Windows Presentation Foundation (WPF) – презентационная система нового поколения для построения клиентских приложений Windows с ошеломляющими возможностями. Технология WPF основана на независимой от разрешения системе визуализации, построенной на векторной графике и использующей преимущества современного графического оборудования. В составWPF входят следующие средства: язык описания Extensible Application Markup Language (XAML), элементы управления, механизм привязки данных, средства разметки, 2d- и 3d-графика, анимация, стили, шаблоны, документы, медиа-элементы, текст и средства оформления текста. Презентационная система входит в состав .Net framework и доступна для использования внутри 1С:Предприятие средствами Elisy .Net Bridge, начиная с версии 3.2. Windows Presentation Framework полностью заменяет и многократно превосходит устаревающую технологию WinForms.

1С:Предприятие содержит всё необходимое для реализации простейших интерфейсов для пользователя. Расширение возможностей происходило долгое время традиционно – через ActiveX. Кто разрабатывал ActiveX на C++ знают, насколько это долгое и неблагодарное дело. Со временем программисты научились эффективнее писать компоненты, пользуясь тем, что .Net-технология WinForms реализует все необходимые COM-интерфейсы для ActiveX. Но все традиционные подходы буквально меркнут по сравнению с технологией WPF, вошедшей в состав .Net framework 3.0. До этого момента использование WFP внутри 1С оставалось для нас несбыточной мечтой, ограничиваясь созданием отдельных окон параллельно с 1С-приложением. Сейчас есть возможность вставки WPF-контролов внутрь форм 1С.

Пример подключения WPF-контрола к 1С:Предприятие

WPF в 1С начинается традиционно – через вставку ActiveX Elisy.HwndHost на форму. Elisy.HwndHost.dll- это небольшая библиотека, реализующая 2 события Created, SizeChanged и 1 свойство Hwnd. Created событие срабатывает в момент создания ActiveX, и с этого момента становится доступным Hwnd – специальный указатель окна, который пригодится в дальнейшем. Дело в том, что указатель окна является единственным связующим звеном при состыковке обычных приложений с WPF-технологией. SizeChanged событие вызывается каждый раз, когда размер окна изменяется для того, чтобы изменить размер WPF-контрола.

Всю остальную работу по загрузке сборки, подготовке параметров инициализации, созданию WPF-контрола и управлению его размерами выполнит Elisy.NetBridge.dll. Код 1С подключения небольшой – всего 10 строк. На основе его можно подключить произвольный элемент управления WPF. Размер кода примера статьи немного больше, так как пример создавался еще для одной цели: показать, как можно поставлять сборки внутри конфигураций 1С и внешних обработок, сведя к минимуму файлы на диске. Но это отдельная тема, затрагивающая также защиту конфигураций 1С.

Файлы обработки:

-